详解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 排列组合之itertools
Mar 20 Python
简单了解Django模板的使用
Dec 20 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
基于python实现高速视频传输程序
May 05 Python
Python3实现定时任务的四种方式
Jun 03 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
Python如何解除一个装饰器
Aug 07 Python
Python pymsql模块的使用
Sep 07 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
一个基于PDO的数据库操作类
2011/03/24 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
php生成word并下载代码实例
2019/03/15 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
php中yii框架实例用法
2020/12/22 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
JS实现手风琴特效
2020/11/08 Javascript
Python批量更改文件名的实现方法
2017/10/29 Python
Python中的pack和unpack的使用
2018/03/12 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Python多线程多进程实例对比解析
2020/03/12 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
座谈会主持词
2014/03/20 职场文书
根叔历年演讲稿
2014/05/20 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
技术员岗位职责
2015/02/04 职场文书
中学生运动会广播稿
2015/08/19 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏