首页 > 代码库 > 使用pycharm+pyqt5 调取界面程序

使用pycharm+pyqt5 调取界面程序

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

隐藏:

技术分享

技术分享



显示:

技术分享

技术分享

使用pycharm+pyqt5 调取界面程序