一、使用QtDesigner制作界面
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控件的隱藏和顯示功能:
隱藏:
顯示: