详解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使用py2exe打包程序介绍
Nov 20 Python
Python实现登录人人网并抓取新鲜事的方法
May 11 Python
python判断windows系统是32位还是64位的方法
May 11 Python
Python常用小技巧总结
Jun 01 Python
Python实现购物程序思路及代码
Jul 24 Python
python中的常量和变量代码详解
Jul 25 Python
Python wxPython库消息对话框MessageDialog用法示例
Sep 03 Python
Python3删除排序数组中重复项的方法分析
Jan 31 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
python 数据提取及拆分的实现代码
Aug 26 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
Python 如何在字符串中插入变量
Aug 01 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上传中文文件名乱码问题处理方案
2015/02/03 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
python简单猜数游戏实例
2015/07/09 Python
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
财务会计专业个人求职信范本
2014/01/08 职场文书
社区学雷锋活动策划方案
2014/01/30 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
异地年检委托书范本
2014/09/24 职场文书
保密工作整改报告
2014/11/06 职场文书
郭明义观后感
2015/06/08 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
git中cherry-pick命令的使用教程
2022/06/25 Servers