详解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实现3行代码解简单的一元一次方程
Aug 18 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
python简单图片操作:打开\显示\保存图像方法介绍
Nov 23 Python
Windows下安装Scrapy
Oct 17 Python
python遍历小写英文字母的方法
Jan 02 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
python实现静态服务器
Sep 05 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 20 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
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
巧用canvas
2017/01/21 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
横向对比分析Python解析XML的四种方式
2016/03/30 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
经典大学生求职信范文
2014/01/06 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
工作会议方案
2014/05/21 职场文书
企业诚信承诺书
2014/05/23 职场文书
健康教育评估方案
2014/05/25 职场文书
酒会开场白大全
2015/06/01 职场文书
工作简历的自我评价
2019/05/16 职场文书