PyQt5学习笔记03----Qt Designer生成源码
下面来分析一下Qt Designer生成的源码。
Qt Designer制作的图形界面为
生成的代码如下
- from PyQt5 import QtCore, QtGui, QtWidgets #导入模块
- class Ui_Form(object): #创建窗口类,继承object
- def setupUi(self, Form):
- Form.setObjectName("Form") #设置窗口名
- Form.resize(400, 300) #设置窗口大小
- self.quitButton = QtWidgets.QPushButton(Form) #创建一个按钮,并将按钮加入到窗口Form中
- self.quitButton.setGeometry(QtCore.QRect(280, 240, 75, 23)) #设置按钮大小与位置
- self.quitButton.setObjectName("quitButton") #设置按钮名
- self.retranslateUi(Form)
- QtCore.QMetaObject.connectSlotsByName(Form) #关联信号槽
- def retranslateUi(self, Form):
- _translate = QtCore.QCoreApplication.translate
- Form.setWindowTitle(_translate("Form", "Test")) #设置窗口标题
- self.quitButton.setText(_translate("Form", "Quit")) #设置按钮显示文字
现在运行这段代码,窗口是不会出现的。如何使窗口出现呢?下面需要添加一段代码
- if __name__=="__main__":
- import sys
- app=QtWidgets.QApplication(sys.argv)
- widget=QtWidgets.QWidget()
- ui=Ui_Form()
- ui.setupUi(widget)
- widget.show()
- sys.exit(app.exec_())
因为Qt Designer默认继承的object类,不提供show()显示方法,所以我们生成一个QWidget对象来重载我们设计的Ui_Form类,达到显示效果。
新建一个文件,导入我们设计的untitled .py文件,实现代码与界面分离。
- from PyQt5 import QtWidgets
- from untitled import Ui_Form
- class mywindow(QtWidgets.QWidget):
- def __init__(self):
- super(mywindow,self).__init__()
- self.new=Ui_Form()
- self.new.setupUi(self)
- if __name__=="__main__":
- import sys
- app=QtWidgets.QApplication(sys.argv)
- myshow=mywindow()
- myshow.show()
- sys.exit(app.exec_())
直接继承界面类
- from PyQt5 import QtWidgets
- from untitled import Ui_Form
- class mywindow(QtWidgets.QWidget,Ui_Form):
- def __init__(self):
- super(mywindow,self).__init__()
- self.setupUi(self)
- if __name__=="__main__":
- import sys
- app=QtWidgets.QApplication(sys.argv)
- myshow=mywindow()
- myshow.show()
- sys.exit(app.exec_())
PyQt5学习笔记03----Qt Designer生成源码相关推荐
- Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4)...
Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4) 今天再次分析了Eva的源码,也看 ...
- Ui学习笔记---EasyUI的EasyLoader组件源码分析
Ui学习笔记---EasyUI的EasyLoader组件源码分析 技术qq交流群:JavaDream:251572072 1.问题1:为什么只使用了dialog却加载了那么多的js http: ...
- Netty网络框架学习笔记-16(心跳(heartbeat)服务源码分析)
Netty网络框架学习笔记-16(心跳(heartbeat)服务源码分析_2020.06.25) 前言: Netty 作为一个网络框架,提供了诸多功能,比如编码解码等,Netty 还提供了非常重要的一 ...
- Kubernetes学习笔记之Calico CNI Plugin源码解析(二)
女主宣言 今天小编继续为大家分享Kubernetes Calico CNI Plugin学习笔记,希望能对大家有所帮助. PS:丰富的一线技术.多元化的表现形式,尽在"360云计算" ...
- Kubernetes学习笔记之Calico CNI Plugin源码解析(一)
女主宣言 今天小编为大家分享Kubernets Calico CNI Plugin的源码学习笔记,希望对正在学习k8s相关部分的同学有所帮助: PS:丰富的一线技术.多元化的表现形式,尽在" ...
- MyBatis源码学习笔记(从设计模式看源码)
文章目录 1.源码分析概述 ①.Mybatis架构分析 ②.门面模式 ③.设计模式的原则 2.日志模块分析 ①.适配器模型 ②.动态代理 ③.日志模块分析 3.数据源模块分析 ①.工厂模式 ②.数据源 ...
- NODEMCU学习笔记-01 esp8266 WIFI杀手 源码上传版
NODEMCU学习笔记-01 esp8266WIFI杀手 动手前的准备 NODEMCU和ESP8266 ARDUINO IDE GITHUB CSDN 让我们开始吧 连接开发板并安装驱动 安装ardu ...
- go语言学习笔记(2)命令源码文件
1.源码文件分类 环境变量GOPATH指向的是一个或多个工作区,而且每个工作区都会有以代码包为基本组织形式的源码文件. 源码文件分为三种,即:命令源码文件.库源码文件和测试源码文件. 2.什么是命令源 ...
- Delphi-IOCP学习笔记九======性能测试和IOCP源码下载5000个连接数
刚刚的测试,服务端上图 开了5个客户端<每个客户端1000>进行测试. 内存视乎不是很多.客户端的发过来的数据包大小在4096+88字节左右. 测试Echo测试线程 procedure T ...
最新文章
- linux 下面数据库备份
- 【机器学习】改善LBP特征提高SVM的可分性的经验总结(一)
- 4.1 简单方程的解
- Oracle EM 12c
- python有几个系列_python系列1-就业篇
- 职专计算机怎么学,浅析职业中专计算机专业计算机教学
- 《隐秘的角落》数学学霸朱朝阳如何炼成?这3招,你家孩子也能用上!
- 【Vue】—Vue的基本介绍与插件安装
- 【BZOJ】1061: [Noi2008]志愿者招募
- java插件不启动_java-插件安装后Eclipse启动问题
- Android 使用低功耗蓝牙简单介绍
- C++配置OpenCv:一劳永逸
- 基于ssm宠物医院管理系统获取(java毕业设计)
- linux nfs共享目录访问速度慢,linux之间共享文件夹选nfs还是选samba--
- RT-Thread:RW007-连接WIFI
- Note: NumExpr detected 12 cores but NUMEXPR_MAX_THREADS not set, so enforcing safe limit of 8. NumEx
- 如何用c语言编程逻辑运算符,c语言逻辑运算符的优先级是怎样的
- 软件架构哲学:和而不同、知行合一、大道自然
- 用python将txt文本中的数据导入excel
- Module not found: Error: Can‘t resolve ‘path‘
热门文章
- java中的祖先类_Java程序公共祖先类-Object
- python用一行代码画个迷宫_用 Python 制作一个迷宫游戏
- SQLite | 数据库设计与 Creat Table 语句
- jupyter notebook一些实用技巧
- Nature methods | Alevin-fry, 一种高效准确的单细胞测序数据预处理工具
- 数据中异常值的鉴定和处理(1)
- R统计绘图 - 热图简化
- NOI提高级:排序算法
- 第34课 生命周期与素数 《小学生C++趣味编程》
- TypeError: __init__() got an unexpected keyword argument ‘任意数‘的原因及解决办法