1. 程式人生 > >使用pycharm+pyqt5 調取介面程式

使用pycharm+pyqt5 調取介面程式

1)開啟的介面設計工具QtDesigner,如圖:

2)新建窗體,選擇Main Window:

3)分別在視窗新增如下控制元件,Calendar、3個pushButton、checkBox、text Browser、text Edit如圖所示:

4)拖好控制元件之後儲存到pycharm專案資料夾下,生成對應的.ui檔案:


5)右鍵.ui檔案使用PyUIC工具轉化.ui程式碼為.py程式碼:

6)成功生成.py檔案:

7)刪除如下三行:

MainWindow.setCentralWidget(self.centralwidget)、
    MainWindow.setMenuBar(self.menubar)、
    MainWindow.setStatusBar(self.statusbar)

8)底部新增如下程式碼:

複製程式碼
if __name__=="__main__":  
    import sys  
    app=QtWidgets.QApplication(sys.argv)  
    widget=QtWidgets.QWidget()  
    ui=Ui_MainWindow()  
    ui.setupUi(widget)  
    widget.show()  
    sys.exit(app.exec_())  
複製程式碼

9)右鍵Run就可以看到圖形介面了:

圖形介面:


二、在pycharm中用自己的程式碼調取圖形介面:

1)新建一個.py檔案在專案中,如圖,我的叫blogTest.py :

2)分別在檔案中,新增以下內容:

寫一個類,繼承介面UI類,新增初始化方法,程式碼入口處使用show方法顯示介面,程式碼如下:

複製程式碼
import sys
from blog import Ui_MainWindow
from PyQt5 import QtWidgets


class mywindow(QtWidgets.QWidget, Ui_MainWindow):

    def __init__(self):
        super(mywindow, self).__init__()
        self.setupUi(self)




if __name__=="__main__": app=QtWidgets.QApplication(sys.argv) myshow=mywindow() myshow.show() sys.exit(app.exec_())
複製程式碼

3)右鍵執行,介面出現:

4)

在QtDisigner新增控制元件事件

1)開啟QtDesigner 載入上次構建ui檔案:

2)新增控制元件事件:

Qt中對控制元件事件觸發都統一稱為槽和訊號,我這理解為觸發源和目標源,事件的新增方法就是在QtDesigner中使用 編輯槽/訊號 功能後,點選觸發源,拖動訊號線指向目標源,如下圖,我使用了pushButton作為了觸發源,calendar作為目標源,拖動結束後,會出現事件編輯欄,左邊的為觸發源的事件,右邊為目標源的事件,分別選擇即可,步驟如下圖:

3)同理,分別用兩個按鈕添加了兩個事件,QtDesigner會顯示各觸發源和目標源的事件:

4)儲存UI檔案,在Pycharm中生成.py檔案,可以在程式碼中看到新增的事件,qt使用了connect方法連線了槽和訊號,記得順手刪除影響編譯的三行程式碼:

二、執行效果:

1)執行調取視窗的.py

2)執行後,分別點選兩個pushButton,可以看到calendar控制元件的隱藏和顯示功能:

隱藏:

顯示: