Pycharm 下 Pyqt5 的配置图以下 (PyUIC5 和 PyUIC 功能同样)python
:app
-o $FileNameWithoutExtension$.py 生成的文件名能够本身设置,ui
$FileNameWithoutExtension$ 这个至关于原来的文件去掉扩展名。spa
Eric6 的默认格式是: -o Ui_$FileNameWithoutExtension$.py设计
Pycharm 里这些都要本身设,Eric6里都帮你建好,点编译就好了。orm
Eric6 编译的py文件里,最后多上一段:对象
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
直接能够运行脚本了。下面是 Eric6 生成的对话框代码:继承
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Dialog = QtWidgets.QDialog() ui = Ui_Dialog() ui.setupUi(Dialog) Dialog.show() sys.exit(app.exec_())
Pycharm里还要本身写上,由于Qt Designer默认继承的object类,不提供show()显示方法,因此咱们生成一个QWidget对象来重载咱们设计的Ui_Form类,达到显示效果。get
就这点区别,Pycharm这样属于代码与界面分离吧,新人搞了半天才明白,唉。pycharm
新建一个文件Main_go.py,导入咱们设计的pycharm_test.py文件,实现代码与界面分离。
MainWindow.setCentralWidget(self.centralwidget)
MainWindow.setMenuBar(self.menubar)
MainWindow.setStatusBar(self.statusbar)
上面这三行要删了,否则运行时会报错,(为何啊,唉,懒的管了。)
下面是Main_go.py的代码,复制粘贴,据说学python就不能去看代码,只要复制过来能用就好了。
from PyQt5 import QtWidgets from pycharm_test import Ui_MainWindow class mywindow(QtWidgets.QWidget): def __init__(self): super(mywindow, self).__init__() self.new = Ui_MainWindow() self.new.setupUi(self) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = mywindow() MainWindow.show() sys.exit(app.exec_())
还能够这样继承,能够少写一行代码是吧。-_-!
from PyQt5 import QtWidgets from pycharm_test import Ui_MainWindow class mywindow(QtWidgets.QWidget,Ui_MainWindow): def __init__(self): super(mywindow, self).__init__() self.setupUi(self) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = mywindow() MainWindow.show() sys.exit(app.exec_())