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

隐藏:

显示:

时间: 2024-08-07 12:28:49

使用pycharm+pyqt5 调取界面程序的相关文章

Python3+Pycharm+PyQt5环境搭建

操作系统:Windows 10 Python版本:3.7及以上版本均可 PyCharm:PyCharm 2019.3 1.安装 PyQt5 及其拓展工具. pip install pyqt5 pip install pyqt5-tools 2.在 PyCharm 内配置安装好的 PyQt5 环境. 通过菜单栏进入设置界面. File -> Settings -> Tools -> External Tools 点击 “+” 号进行拓展工具的添加. 3.创建以下三个拓展工具. (1)Des

在Pycharm上编写WordCount程序

本篇博客将给大家介绍怎么在PyCharm上编写运行WordCount程序. 第一步 下载安装PyCharm 下载Pycharm PyCharm的下载地址(Linux版本).下载完成后你将得到一个名叫:pycharm-professional-2018.2.4.tar.gz文件.我们选择的是正版软件,学生可申请免费使用.详细信息请百度. 安装PyCharm 执行以下命令解压文件: cd ~/下载 tar -xvf pycharm-professional-2018.2.4.tar.gz Shell

DuiVision开发教程(2)-如何写一个简单的界面程序

基于DuiVision界面库开发的界面程序主要包括如下几部分内容: 1.资源定义,包括图片资源.各个窗口界面的xml定义文件 2.事件处理类代码,用于处理界面响应消息 3.其他业务逻辑代码 下面举例说明如何写一个简单的界面程序. 第一步:使用VC向导创建一个有两个tab页面的DuiVision工程 向导生成的解决方案文件如下: 默认有两个工程,分别是DuiVision库和应用程序工程.自动生成的代码目录中bin目录下的内容那个如下,bkimg目录存放窗口背景图片,skins目录存放图片资源,xm

[Windows]_[中级]_[界面程序打开控制台输出-转发输出到控制台]

场景: 1. 开发Windows界面程序时,需要打印输出,断点在调试多线程程序有局限性,就是会干扰线程的优先顺序,看不到正确的结果,往往就是断点就没事, 没断点程序就不能正常运行了. 2. 使用动态库(静态库)时,出现问题时在Dll里写std::cout输出信息是必不可少的调试方法,特别对于多线程程序,谁先谁后暂停后的结果就会不一样了. 有时候没有动态库的代码时,也没法对动态库打断点. 3.  打开控制台窗口后只能看到WIndows程序的输出而无法看到Dll的输出? 4. 直接改配置属性->链接

Ubuntu下用glade和GTK+开发C语言界面程序(一)

前言:对于大学中计算机系的每年暑假的课设有太多想说的,能从中学到很多东西,当然不排除打酱油的,这些可以掠过哦,凡事都打酱油,人生也是打酱油的吧.2333. 对于大三以前的课设一般的要求都是用C写的,即使你学的面向对象很好,也只能老老实实的来用C写.当然这其中还有好多要说道的东西. 用C写,面对windows下的那不能再吐槽的cmd终端,我就不说太多了,因为已经很少到windows上做东西.用C写,又想写的高大上一点,当然要有图形界面了,在linux上用C写界面程序,GTK+是少不了的,但是运用面

linux启动后自动登录并运行自定义图形界面程序

在<Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法>一文中提到linux启动在以后运行一个独占显示器的图形程序的两种办法. 1.不启动xserver,使用fb或者directfb图形模式: 2.启动xserver不启动桌面系统. 第一种方法性能并不一定高,因为支持fb的显卡驱动可能找不到,就是用上显卡驱动了也需要CPU大量参与.另外如果用这种方式可供选择的图形程序开发技术就受限了.所以这种方法通常用在嵌入式环境下. 第二种方法只要显卡驱动了,CPU就能得到解

Quartz(GUI)图形界面程序----Quartz Web

下载.设置和运行Quartz(GUI)图形界面程序----Quartz Web 一.获取Quartz Web程序(Quartz GUI).早期的 Quartz 框架开发者意识到一个 GUI 对于某类用户群体是必需的.几年前,一个 Web 应用被创立,它可用于管理 Quartz 框架.虽说是历经了几年有相当投入的开发,但不得不说的,总是时断时续的.近来出现有更多的要求对这个应用的更新与支持,因而又重新吸引了新的开发者自愿的工作并使之保持不断更新.这个应用就是知名的 Quartz Web 程序.Qu

创建第一个界面程序

通过swing创建一个简单的图形界面程序,帮助读者快熟了java桌面程序开发步骤,掌握简单的图形界面开发程序,轻松开发复杂的图形界面程序.在swing中,代表窗体的是javax.swing.JFrame,陈故乡中的其他组件必须包含在JFrame窗体上才能被显示在屏幕上,因此也称为JFrame的容器类,它能像一个容器一样容纳别的组件.要使用JFrame类创建窗体,首先要做的就是在程序中导入javax.swing.JFrame类,另外,在本事例中还要用到一个标签(也是一个Swing组件),在Swin

在ubuntu上使用wxWidgets成功开发一个图形界面程序

编译wxWidgets 下载最新版的源码,wxWidgets-3.0.2.wxWidgets在liunx是通过wxGTK实现的.wxGTK和wxWidgets的源码打包在一起.wxGTK依赖GTK+,当前版本依赖高于2.8.2的版本.我安装了3.0版本的GTK+.apt-get install gtk+-3.0-dev.一般开发用的库,都有个-dev结尾,这是个约定.开发用的库包含了头文件和文档之类的东西. 为了让不同平台wxWidgets编译之后放到各自的文件夹下,先在解压得到的文件夹下创建一