详解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中处理字符串的相关的len()方法的使用简介
May 19 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
May 08 Python
Python函数的参数常见分类与用法实例详解
Mar 30 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
一文解决django 2.2与mysql兼容性问题
Jul 15 Python
python中return不返回值的问题解析
Jul 22 Python
Python连接Impala实现步骤解析
Aug 04 Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 08 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实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
Python实现破解猜数游戏算法示例
2017/09/25 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
蔻驰美国官网:COACH美国
2016/08/18 全球购物
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
市政施工员自我鉴定
2014/01/15 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
文明工地标语
2014/06/16 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书