zoukankan      html  css  js  c++  java
  • 使用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控件的隐藏和显示功能:

    隐藏:



    显示:

  • 相关阅读:
    启动vmware虚拟机报错:“无法获得VMCI驱动程序的版本:句柄无效”
    vmware虚拟机环境下配置centos为静态IP的步骤
    VirtualBox安装增强功能报错
    eclipse中的yaml插件
    问题解决java.lang.IllegalArgumentException at org.springframework.asm.ClassReader
    git的使用笔记
    springcloud学习笔记(六)Spring Cloud Zuul
    springcloud学习笔记(五)Spring Cloud Actuator
    springcloud学习笔记(四)Spring Cloud Hystrix
    springcloud学习笔记(三)Spring Cloud Ribbon
  • 原文地址:https://www.cnblogs.com/IPYQ/p/6281410.html
Copyright © 2011-2022 走看看