使用PyQt5设计UI界面开发桌面应用程序的小伙伴,刚开始可能都会遇到这样让人不爽的事:用Qt Designer好不容易设计好的界面并写好逻辑代码,已经可以正常运行了,某天发现界面要做个小改动(这种事好象永远都避不了),重新修改好UI界面窗口,用PyUIC将界面窗口再次生成Python代码,这时你会悲伤的发现:以前千辛万苦写好的逻辑代码全部没有了,需要在新生成的界面代码内重新加入逻辑代码!这实在是一件让人奔溃的事。
只有将界面与逻辑代码分离,才能终结这种不辛的事再次发生!
本示例使用的发卡设备:https://item.taobao.com/item.htm?id=615391857885&spm=a1z10.5-c.w4002-21818769070.11.6cc85700Robi3x
一、使用Qt Designer新建窗体文件MifareCardRW.ui,将需要的控件拖入窗体并布局好,
二、Python项目内,右击已布局好的窗体文件MifareCardRW.ui,选击菜单External Tool\PyUIC,将窗体文件自动生成Python代码文件MifareCardRW.py。
三、新建逻辑代码文件call_MifareCardRW.py,加入代码from mainwindow import Ui_MainWindow引入窗体类,并且为需要的控件绑定槽函数:
四、运行逻辑代码call_MifareCardRW.py,你会发现以前设计好的窗体打开,且各控件事件运行正常,以后再改动窗体文件MifareCardRW.ui,只要不更改以前控件名称,重新生成MifareCardRW.py窗体代码,逻辑代码不用更改还正常运行,这样逻辑与界面代码就分开啦。