一、用pydesigner设计ui界面
1)主要是页面布局,还有一些信号与槽
2)设计一些槽,关联系统信号
3)设计一些槽,不要关联信号,在python中关联自定义函数
4)生成的文件是ui文件
二、用pyuic将ui文件转化为py文件
注意,转化后的文件并不能运行出界面,需要加入通用的头文件和主函数。
1)头文件:
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from functools import partial
2)主函数:
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv) # 这个好像是获取系统进程,可以照抄
MainWindow = QtWidgets.QMainWindow() # 创建PyQt设计的窗体对象
ui = Ui_MainWindow() # 注意Ui_goutoudaren(),类的实例化对象,其他可以照
ui.setupUi(MainWindow) # 调用PyQt窗口方法
MainWindow.show() # 显示窗体
sys.exit(app.exec()) # 程序关闭时退出进程
三、在py文件中加入自定义函数
1)注意自定义函数不要加入类中,很难引用
2)自定义函数要将类的实例化对象作为输入
3)自定义函数要在主函数的MainWindow.show()后面和槽关联
参考案例:
自定义函数:
def convert(ui): #这里的ui,是实例化对象
input = ui.lineEdit.text() # 设置获取lineEdit的文本框中的文本,用text()的方法
result = float(input) * 6.7 # 汇率计算
ui.lineEdit_2.setText(str(result)) # 设置放置结果到lineEdit_2的文本框中
关联自定义函数后的主函数:
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv) # 这个好像是获取系统进程,可以照抄
MainWindow = QtWidgets.QMainWindow() # 创建PyQt设计的窗体对象
ui = Ui_MainWindow() # 注意Ui_goutoudaren(),类的实例化对象,其他可以照
ui.setupUi(MainWindow) # 调用PyQt窗口方法
MainWindow.show() # 显示窗体
# 在这里配置自定义函数,要在mainwindow,show的后面
ui.pushButton_3.clicked.connect(partial(convert, ui))
sys.exit(app.exec()) # 程序关闭时退出进程