一、使用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控件的隐藏和显示功能:
隐藏:
显示: