详解PyCharm+QTDesigner+PyUIC使用教程


Posted in Python onJune 13, 2019

我们在PyCharm安装配置Qt Designer+PyUIC教程中已配置好了PyCharm+QTDesigner+PyUIC环境

这里在此基上我们演示如何使用这些工具,编写一个图形界面程序:

程序主界面上有一个按钮和一个编缉框,点击按钮就在编缉框中显示“你点击了按钮”

一、使用QT Desinger设计程序主界面

2.1 设计界面

在PyCharm中创建一个项目,然后点击“Tools”--“External Tools”--“QTDesinger”打开QT Desinger

详解PyCharm+QTDesigner+PyUIC使用教程

详解PyCharm+QTDesigner+PyUIC使用教程

然后向Form中拖入一个“Push Button”和一个“Text Edit”

详解PyCharm+QTDesigner+PyUIC使用教程

2.2 指定点击事件及其响应函数

在工具栏点击信号-槽编缉按钮----光标移动到“PushButton”按钮上----鼠标左键点击“PushButton”不要松开--拖动光标到Form的任一位置后再松开鼠标左键

详解PyCharm+QTDesigner+PyUIC使用教程

经过上边的操作就出现了如下界面,“pushButton”侧选中“click()”,“Form”侧点击“Edit”

详解PyCharm+QTDesigner+PyUIC使用教程

在上边“Slots”点击绿色“+”按钮,指定click事件的响应函数,名称随意定比如我这里命名为“pushButton_click()”

(我们这里只是指定事件与响应函数的关联关系,函数是还没实现的,后边我们自行实现)

详解PyCharm+QTDesigner+PyUIC使用教程

详解PyCharm+QTDesigner+PyUIC使用教程

这样界面设计和事件关联就完成了,我们下来选择保存,将文件保存到项目的根目录下

详解PyCharm+QTDesigner+PyUIC使用教程

二、使用PyUIC将文件转成python代码

关闭QT Designer回到PyCharm,查看项目,可以看到只有刚才保存的PyQT_Form.ui文件而且该文件在PyCharm是打不开的

我们需要将这个文件转成.py代码才能使用

详解PyCharm+QTDesigner+PyUIC使用教程

选中“PyQT_Form”,在其上点击鼠标右键,到“External Tools”中点击“PyUIC”

详解PyCharm+QTDesigner+PyUIC使用教程

完后再看项目文件,就可以看到多了一个“PyQT_Form.py”,双击查看其内容如下:

详解PyCharm+QTDesigner+PyUIC使用教程

三、实现程序

应该来说我们只要在上边的“PyQT_Form.py”中,将需要的包导入---添加pushButton_click()函数实现代码----实例化Ui_Form类,实现这三步程序应该就差不多了

但是PyQT_Form.py是PyUIC文件按照“PyQT_Form.ui”生成的,如果我们需要去调整PyQT_Form.ui(比如调整按钮位置调整文本框大小,后续调整界面在实际编程中基本是必然需求)

调整完后重新生成PyQT_Form.py时,PyUIC可不会管当前我们已经在PyQT_Form.py中写了什么代码,旧PyQT_Form.py会直接被新PyQT_Form.py覆盖

也就是说,所有逻辑代码我们都不应当写入PyQT_Form.py文件(或者叫不要动PyQT_Form.py文件),我们新建一个文件在里边创建一个子类(MyPyQT_Form)继承PyQT_Form.py中的Ui_Form

3.1 实现代码

在项目中新建一个.py文件,写入如下代码

import sys
from PyQt5 import QtWidgets
from PyQT_Form import Ui_Form

class MyPyQT_Form(QtWidgets.QWidget,Ui_Form):
 def __init__(self):
  super(MyPyQT_Form,self).__init__()
  self.setupUi(self)

 #实现pushButton_click()函数,textEdit是我们放上去的文本框的id
 def pushButton_click(self):
  self.textEdit.setText("你点击了按钮")


if __name__ == '__main__':
 app = QtWidgets.QApplication(sys.argv)
 my_pyqt_form = MyPyQT_Form()
 my_pyqt_form.show()
 sys.exit(app.exec_())

3.2 运行演示

右键选择运行

详解PyCharm+QTDesigner+PyUIC使用教程

运行界面如下

详解PyCharm+QTDesigner+PyUIC使用教程

点击“PushButton”后界面如下

详解PyCharm+QTDesigner+PyUIC使用教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 实现UTC时间加减的方法
Dec 31 Python
Python向excel中写入数据的方法
May 05 Python
详解Python3定时器任务代码
Sep 23 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
Python面向对象原理与基础语法详解
Jan 02 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 Python
Python OpenCV快速入门教程
Apr 17 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 #Python
python之pyqt5通过按钮改变Label的背景颜色方法
Jun 13 #Python
python3.4+pycharm 环境安装及使用方法
Jun 13 #Python
python自动化之Ansible的安装教程
Jun 13 #Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 #Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 #Python
Python语法分析之字符串格式化
Jun 13 #Python
You might like
PHP安全配置
2006/10/09 PHP
zend api扩展的php对象的autoload工具
2011/04/18 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
理解Python中的With语句
2015/02/02 Python
python自动化生成IOS的图标
2018/11/13 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
Python递归实现打印多重列表代码
2020/02/27 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
自我鉴定四大框架
2014/01/17 职场文书
社保转移委托书范本
2014/10/08 职场文书
青年文明号汇报材料
2014/12/23 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
小学班长竞选稿
2015/11/20 职场文书