--- title: Pyqt5 Designer 筆記 tags: OpenCV,Python --- **使用 python, Pyqt5, Pyqt5-tools 建立** # 建立QtDesigner介面 **目錄** [TOC] ## Step 1. 安裝套件 * 開啟cmd安裝PyQt5 > pip install pyqt5 * 安裝PyQt5-tools > pip install pyqt5-tools ## Step 2. 尋找Qt的designer * 在 .\venv\Lib\site-packages\pyqt5_tools\Qt\bin 找到 designer.exe ![file_image](https://i.imgur.com/jcg3L5O.png) * 開啟就能進行介面設計 --- 當時遇到的問題是: ![error_image](https://i.imgur.com/a1Pk65m.png) * 解决方法: 定位到.\Lib\site-packages\PyQt5\Qt\plugins,這個位置取決於你安裝的位置,將該目錄下的platforms文件夾複製到.\Lib\site-packages\pyqt5_tools\Qt\bin,並替換處於該目錄下的platforms內的文件。 * 再次打開designer.exe,此時問題應該已解決。 * 參考[網頁](https://www.cnblogs.com/focksor/p/13166970.html)。 ## 實作範例 ### Step1 ![image1](https://pic.pimg.tw/xdxdyayaya/1567515140-2791614330.png) ### Step2 ![image2](https://pic.pimg.tw/xdxdyayaya/1567515140-1738651906_l.png) ### Step3 ![image3](https://pic.pimg.tw/xdxdyayaya/1567515140-3608624068_l.png) ### Step4 ![image4](https://pic.pimg.tw/xdxdyayaya/1567515141-2068498436.png) ### Step5 開啟cmd下指令: ```Ternimal= pyuic5 UI.ui -o UI.py ``` 你將會在該檔案目錄下看到 UI.py生成。 ### Step6 加入主要執行檔 code。 ```python= if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_()) ``` ### Step7 呼叫PushButtom 可以這麼寫。 ```python= self.pushButton.clicked.connect(self.AAA) self.pushButton_2.clicked.connect(self.BBB) def AAA(self, MainWindow): print('AAA') def BBB(self, MainWindow): print('BBB') ``` --- 當時遇到的問題:將def另放在一個py檔,遇到的問題是找不到def那個呼叫。 之後我改成這樣就能執行: ```python= self.pushButton.clicked.connect(lambda: class名稱.def名稱(self)) ``` ### Step8 呼叫 LineEdit 可以這麼寫。 ```python= word = self.lineEdit.text('請輸入數字') ``` 當時是不知道如何呼叫到其他py檔,所以只在該py檔開函式做執行。 --- > 可以參考此[網站](https://blog.daychen.tw/2017/09/pyqt5-part-5-qt-designer-gui.html)。 > > 以下為某作業寫的。 ![](https://i.imgur.com/tEfitWM.png)