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_())