最近使用Python3 PyQt5写一个自己的小项目,懒得自己手写界面,然后就用Qt Designer直接拖动设计界面然后转成.py文件,然后再添加函数实现功能,久而久之就发现更新界面很麻烦,查找了各方资料,就找到了分离界面与逻辑函数的方法,从此又方便了很多,我只要编译界面成py文件,然后就调用就OK,方便快捷。存留文章,以便以后查阅。
1 用Qt Designer制作界面
我已经搭建了Python3,PyQt5,Eric6的开发环境,打开Eric6新建一个项目,然后在这里找到窗体tab:
Eric6窗体tab
选择窗体后下边的空白右击可以新建窗体,我新建一个主窗口,新建完成就可以进入到Qt Designer界面。我放置了一个lable和button用来测试,做完一切记得保存。
Qt Designer 界面
2 编译界面
包装后退出Qt Designer,编译界面在Eric6中很简单,只需选择所需要编译的界面然后右键菜单中就有编译窗体的选项。
编译界面
编译后的窗体py文件在源代码选项卡中:
编译后的窗体
运行后就可以看见刚才新建的界面。
3 调用编译好的窗体
我新建一个Main.py来调用刚才编译好的窗体,代码如下:
import sys
from Ui_TestMainWindows import Ui_MainWindow
from PyQt5 import QtWidgets
#继承Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super(MainWindow,self).__init__()
self.setupUi(self)
#点击按钮后修改lable内容
self.TestButton.clicked.connect(self.changetext)
def changetext(self):
self.testlabel.setText("New text")
if __name__ =='__main__':
app=QtWidgets.QApplication(sys.argv)
mainui = MainWindow()
mainui.show()
sys.exit(app.exec_())
运行这个文件就会发现,窗口正常显示,按键也按照如期的效果工作着。
|