旅游在线网站开发,com域名是哪个国家的,杭州app开发公司都集中在哪里,wordpress 外部链接文章目录 前言程序1#xff1a;caogao1.py输入数据界面程序2#xff1a;caogao2.py接收数据界面 程序3 #xff1a;将输入数据界面和接收数据界面组合成一个总界面讲解 总结 前言
在编写pyqt 页面时有时候需要不同页面进行数据传输。本文讲解静态函数方法。直接看示例。
程… 文章目录 前言程序1caogao1.py输入数据界面程序2caogao2.py接收数据界面 程序3 将输入数据界面和接收数据界面组合成一个总界面讲解 总结 前言
在编写pyqt 页面时有时候需要不同页面进行数据传输。本文讲解静态函数方法。直接看示例。
程序1caogao1.py输入数据界面
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import os #自带
from PyQt5 import QtCore, QtWidgetsclass Ui_Dialog11(object):def stack11UI(self):#第一部分 加载数据集self.lb1 QLabel(输入数据窗口)self.lb1.setAlignment(Qt.AlignHCenter)self.textEdit1 QTextEdit(输入数据)layout1 QtWidgets.QHBoxLayout()layout1.addWidget(self.lb1)layout1.addWidget(self.textEdit1)self.stack11.setLayout(layout1)staticmethod # 静态方法 其它窗口调用def TransmitResults(self):return str(self.textEdit1.toPlainText())程序2caogao2.py接收数据界面
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import os #自带
from PyQt5 import QtCore, QtWidgets
from caogao1 import Ui_Dialog11 #导入caogao1.py中的Ui_Dialog11
class Ui_Dialog12(object):def stack12UI(self):#第一部分 加载数据集self.lb2 QLabel(接收数据窗口)self.lb2.setAlignment(Qt.AlignHCenter)self.btn2 QPushButton(点击接收数据)self.btn2.clicked.connect(self.GetResults)self.textEdit2 QTextEdit(接收数据)layout2 QtWidgets.QVBoxLayout()layout2.addWidget(self.lb2)layout2.addWidget(self.btn2)layout2.addWidget(self.textEdit2)self.stack12.setLayout(layout2)def GetResults(self):try:jieguoUi_Dialog11.TransmitResults(self) #调用Ui_Dialog11.TransmitResults 静态方法self.textEdit2.setText(str(jieguo)) #写入except Exception as e1:self.textEdit2.setText(str(e1)) # 写入
程序3 将输入数据界面和接收数据界面组合成一个总界面
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: yudengwu(余登武
# Date : 2023/8/27
#email:1344732766qq.com
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import os #自带
from PyQt5 import QtCore, QtWidgets, QtGui
from caogao1 import Ui_Dialog11 #导入
from caogao2 import Ui_Dialog12#导入class StackedExample(QWidget,Ui_Dialog11,Ui_Dialog12):def __init__(self):super(StackedExample, self).__init__()#设置窗口初始位置和大小self.setGeometry(300,50,100,100)screen QDesktopWidget().screenGeometry() # 屏膜self.setMinimumSize(screen.width() * 0.7, screen.height() * 0.7)self.setMaximumSize(screen.width() * 0.9, screen.height() * 0.9)MAIN_SIZE_MAX QSize(16777215, 16777215);self.setMaximumSize(MAIN_SIZE_MAX);self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint, True)#self.setWindowFlags(QtCore.Qt.WindowMinMaxButtonsHint|QtCore.Qt.WindowCloseButtonHint)self.setWindowTitle(总页面)# 创建列表窗口添加条目self.leftlist QListWidget()self.leftlist.insertItem(0, 输入数据界面)self.leftlist.insertItem(1, 接收数据页面)# 创建二个小控件self.stack11 QWidget() #stack11 和Ui_Dialog11中保持一致self.stack12 QWidget()#stack12 和Ui_Dialog12中保持一致self.stack11UI() #初始化self.stack12UI()#初始化# 在QStackedWidget对象中填充了二个子控件self.stack QStackedWidget(self)self.stack.addWidget(self.stack11)self.stack.addWidget(self.stack12)# 水平布局添加部件到布局中HBox QHBoxLayout()HBox.addWidget(self.leftlist, 1)HBox.addWidget(self.stack, 5)self.setLayout(HBox)self.leftlist.currentRowChanged.connect(self.display)def display(self, i):# 设置当前可见的选项卡的索引self.stack.setCurrentIndex(i)if __name__ __main__:appQApplication(sys.argv)demoStackedExample()demo.show()sys.exit(app.exec_())
讲解
输入数据界面 接收数据界面
在输入数据界面 输入值
在接收数据界面 点击接收可以发现数据从一个界面传到另一个界面了。
总结
1、将函数变成静态函数方法staticmethod staticmethod # 静态方法 其它窗口调用def 函数名(self):return 结果2、其它窗口通过静态函数所在类名.静态函数self 得到传递值