之前网上找到的方法大多是将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_())