详解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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
简单介绍Python中的round()方法
May 15 Python
回调函数的意义以及python实现实例
Jun 20 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
Django实现文件上传和下载功能
Oct 06 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
python利用opencv实现颜色检测
Feb 23 Python
Django实现在线无水印抖音视频下载(附源码及地址)
May 06 Python
Python实现天气查询软件
Jun 07 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 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脚本的10个技巧(2)
2006/10/09 PHP
PHP 已经成熟
2006/12/04 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
js计算精度问题小结
2013/04/22 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
node.js require() 源码解读
2015/12/13 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
python实现代理服务功能实例
2013/11/15 Python
分享15个最受欢迎的Python开源框架
2014/07/13 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Python 学习教程之networkx
2019/04/15 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
会计专业毕业生自荐信范文
2013/12/20 职场文书
公路绿化方案
2014/05/12 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
初中生物教学随笔
2015/08/15 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android