下面来分析一下Qt Designer生成的源码。

Qt Designer制作的图形界面为

生成的代码如下

[python] view plaincopy
  1. from PyQt5 import QtCore, QtGui, QtWidgets                                  #导入模块
  2. class Ui_Form(object):                                                      #创建窗口类,继承object
  3. def setupUi(self, Form):
  4. Form.setObjectName("Form")                                          #设置窗口名
  5. Form.resize(400, 300)                                               #设置窗口大小
  6. self.quitButton = QtWidgets.QPushButton(Form)                       #创建一个按钮,并将按钮加入到窗口Form中
  7. self.quitButton.setGeometry(QtCore.QRect(280, 240, 75, 23))         #设置按钮大小与位置
  8. self.quitButton.setObjectName("quitButton")                         #设置按钮名
  9. self.retranslateUi(Form)
  10. QtCore.QMetaObject.connectSlotsByName(Form)                         #关联信号槽
  11. def retranslateUi(self, Form):
  12. _translate = QtCore.QCoreApplication.translate
  13. Form.setWindowTitle(_translate("Form", "Test"))                     #设置窗口标题
  14. self.quitButton.setText(_translate("Form", "Quit"))                 #设置按钮显示文字

现在运行这段代码,窗口是不会出现的。如何使窗口出现呢?下面需要添加一段代码

[python] view plaincopy
  1. if __name__=="__main__":
  2. import sys
  3. app=QtWidgets.QApplication(sys.argv)
  4. widget=QtWidgets.QWidget()
  5. ui=Ui_Form()
  6. ui.setupUi(widget)
  7. widget.show()
  8. sys.exit(app.exec_())

因为Qt Designer默认继承的object类,不提供show()显示方法,所以我们生成一个QWidget对象来重载我们设计的Ui_Form类,达到显示效果。

新建一个文件,导入我们设计的untitled .py文件,实现代码与界面分离。

[python] view plaincopy
  1. from PyQt5 import QtWidgets
  2. from untitled import Ui_Form
  3. class mywindow(QtWidgets.QWidget):
  4. def __init__(self):
  5. super(mywindow,self).__init__()
  6. self.new=Ui_Form()
  7. self.new.setupUi(self)
  8. if __name__=="__main__":
  9. import sys
  10. app=QtWidgets.QApplication(sys.argv)
  11. myshow=mywindow()
  12. myshow.show()
  13. sys.exit(app.exec_())

直接继承界面类

[python] view plaincopy
  1. from PyQt5 import QtWidgets
  2. from untitled import Ui_Form
  3. class mywindow(QtWidgets.QWidget,Ui_Form):
  4. def __init__(self):
  5. super(mywindow,self).__init__()
  6. self.setupUi(self)
  7. if __name__=="__main__":
  8. import sys
  9. app=QtWidgets.QApplication(sys.argv)
  10. myshow=mywindow()
  11. myshow.show()
  12. sys.exit(app.exec_())

PyQt5学习笔记03----Qt Designer生成源码相关推荐

  1. Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4)...

    Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4) 今天再次分析了Eva的源码,也看 ...

  2. Ui学习笔记---EasyUI的EasyLoader组件源码分析

    Ui学习笔记---EasyUI的EasyLoader组件源码分析 技术qq交流群:JavaDream:251572072   1.问题1:为什么只使用了dialog却加载了那么多的js   http: ...

  3. Netty网络框架学习笔记-16(心跳(heartbeat)服务源码分析)

    Netty网络框架学习笔记-16(心跳(heartbeat)服务源码分析_2020.06.25) 前言: Netty 作为一个网络框架,提供了诸多功能,比如编码解码等,Netty 还提供了非常重要的一 ...

  4. Kubernetes学习笔记之Calico CNI Plugin源码解析(二)

    女主宣言 今天小编继续为大家分享Kubernetes Calico CNI Plugin学习笔记,希望能对大家有所帮助. PS:丰富的一线技术.多元化的表现形式,尽在"360云计算" ...

  5. Kubernetes学习笔记之Calico CNI Plugin源码解析(一)

    女主宣言 今天小编为大家分享Kubernets Calico CNI Plugin的源码学习笔记,希望对正在学习k8s相关部分的同学有所帮助: PS:丰富的一线技术.多元化的表现形式,尽在" ...

  6. MyBatis源码学习笔记(从设计模式看源码)

    文章目录 1.源码分析概述 ①.Mybatis架构分析 ②.门面模式 ③.设计模式的原则 2.日志模块分析 ①.适配器模型 ②.动态代理 ③.日志模块分析 3.数据源模块分析 ①.工厂模式 ②.数据源 ...

  7. NODEMCU学习笔记-01 esp8266 WIFI杀手 源码上传版

    NODEMCU学习笔记-01 esp8266WIFI杀手 动手前的准备 NODEMCU和ESP8266 ARDUINO IDE GITHUB CSDN 让我们开始吧 连接开发板并安装驱动 安装ardu ...

  8. go语言学习笔记(2)命令源码文件

    1.源码文件分类 环境变量GOPATH指向的是一个或多个工作区,而且每个工作区都会有以代码包为基本组织形式的源码文件. 源码文件分为三种,即:命令源码文件.库源码文件和测试源码文件. 2.什么是命令源 ...

  9. Delphi-IOCP学习笔记九======性能测试和IOCP源码下载5000个连接数

    刚刚的测试,服务端上图 开了5个客户端<每个客户端1000>进行测试. 内存视乎不是很多.客户端的发过来的数据包大小在4096+88字节左右. 测试Echo测试线程 procedure T ...

最新文章

  1. linux 下面数据库备份
  2. 【机器学习】改善LBP特征提高SVM的可分性的经验总结(一)
  3. 4.1 简单方程的解
  4. Oracle EM 12c
  5. python有几个系列_python系列1-就业篇
  6. 职专计算机怎么学,浅析职业中专计算机专业计算机教学
  7. 《隐秘的角落》数学学霸朱朝阳如何炼成?这3招,你家孩子也能用上!
  8. 【Vue】—Vue的基本介绍与插件安装
  9. 【BZOJ】1061: [Noi2008]志愿者招募
  10. java插件不启动_java-插件安装后Eclipse启动问题
  11. Android 使用低功耗蓝牙简单介绍
  12. C++配置OpenCv:一劳永逸
  13. 基于ssm宠物医院管理系统获取(java毕业设计)
  14. linux nfs共享目录访问速度慢,linux之间共享文件夹选nfs还是选samba--
  15. RT-Thread:RW007-连接WIFI
  16. Note: NumExpr detected 12 cores but NUMEXPR_MAX_THREADS not set, so enforcing safe limit of 8. NumEx
  17. 如何用c语言编程逻辑运算符,c语言逻辑运算符的优先级是怎样的
  18. 软件架构哲学:和而不同、知行合一、大道自然
  19. 用python将txt文本中的数据导入excel
  20. Module not found: Error: Can‘t resolve ‘path‘

热门文章

  1. java中的祖先类_Java程序公共祖先类-Object
  2. python用一行代码画个迷宫_用 Python 制作一个迷宫游戏
  3. SQLite | 数据库设计与 Creat Table 语句
  4. jupyter notebook一些实用技巧
  5. Nature methods | Alevin-fry, 一种高效准确的单细胞测序数据预处理工具
  6. 数据中异常值的鉴定和处理(1)
  7. R统计绘图 - 热图简化
  8. NOI提高级:排序算法
  9. 第34课 生命周期与素数 《小学生C++趣味编程》
  10. TypeError: __init__() got an unexpected keyword argument ‘任意数‘的原因及解决办法