使用PyQt5与QtDesigner配合搭建界面

之前网上找到的方法大多是将QtDesigner生成的ui文件转成py再使用,这样还是比较麻烦,能不能直接使用ui文件呢?答案是肯定的。

注意本文使用的python版本是2.7,如果你使用的是3.x版本可能不适用。

第一步是安装Qt。
第二步是安装PyQt5,使用命令:

 pip install python-qt5

注意这样安装的是64位版本,如果你的python是32位的,则需要到官网下载个64位版本覆盖安装。
第三步可以参考这篇文章使用PyQt来编写第一个Python GUI程序
第四步上面那篇文章是基于Qt4的,我们需要修改一下:
将QtGui改成QtWidgets
如果你不幸像我一样改完之后运行提示:

XXX object has no attribute 'accept'

就要注意了,这里有篇解答:
AttributeError: 'StartQT4' object has no attribute 'accept'

这个是因为第三步如果你用QtDesinger建立的是一个对话框,那么在第四步中还需要将QMainWindow改成QDialog

最后附上最终完整的代码:

import sys
from PyQt5 import QtCore, uic, QtWidgets
 
qtCreatorFile = "dlg.ui" # Enter file here.
 
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
 
class MyApp(QtWidgets.QDialog, Ui_MainWindow):
    def __init__(self):
        QtWidgets.QDialog.__init__(self)
        Ui_MainWindow.__init__(self)
        self.setupUi(self)
 
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())

你可能感兴趣的:(使用PyQt5与QtDesigner配合搭建界面)