PyQt5程序基本结构分析
面向过程版
# 0. 导入需要的包和模块
from PyQt5.Qt import * # 包含了我们常用的QT中的一些类
import sys # 一个内置的模块,系统相关操作
# 代码执行的时候,可以接收命令行的参数 sys.argv
# args = sys.argv # python命令运行时的参数,一般第0个是文件名,后面是其他参数
# print(args)
# 1. 创建一个应用程序对象,
# 一个PyQt程序都需要一个应用程序对象
# * 它包含主事件循环,在其中来自窗口系统和其他资源的所有事件被处理和调度
# * 它也处理应用程序的初始化和结束,并且提供对话管理
# * 它也处理绝大多数系统范围和应用程序范围的设置
app = QApplication(sys.argv)
# app.arguments() # 可以获取创建时传入的参数
# 也可以通过 qApp.arguments() 来获取
# 2. 控件的操作
# 创建控件,控件的设置,事件的处理等
# 创建控件
# 当我们创建一个控件之后,如果说,这个控件没有父控件,则把它当做顶层控件(窗口)
# 系统会自动地给窗口添加一些装饰(例如标题栏),窗口控件具备一些特征
# 凡是顶层控件,都可以设置一些有关窗口的属性
# 控件也可以作为一个容器(承载其他控件)
# 如果一个控件有父控件,则父控件展示之后,子控件一般也会展示
#window = QWidget()
window = QLabel()
# 设置控件
window.setText("Hello World")
window.setWindowTitle("titlexxxxxxx")
# 展示控件
# 刚创建好的控件默认不会被展示(如果这个控件没有什么父控件),需要手动show
window.show()
# 3. 应用程序的执行,进入到消息循环
# 退出码,一般正常是0
sys.exit(app.exec_())
# app.exec_() 让整个程序开始执行, 进入消息循环(无限循环),不要停止
# 消息循环检测整个程序所接收到的用户的交互信息和其他信息
PyQt5程序基本结构分析的更多相关文章
- [python学习笔记] pyinstaller打包pyqt5程序无法运行
问题 pyinstaller打包的pyqt5程序在部分电脑上会失败.用户截图提示下边错误日志 无法定位程序输入点 ucrtbase.terminate 于动态链接库 api-ms-win-crt-ru ...
- Python入门学习——PyQt5程序基本结构
在学习python GUI部分时,一开始看书有点懵,看不懂框架,以下是个人学习所得(参考了别人的视频讲解),错误之处,望大家指教 #0.导入需要的包和模块from PyQt5.Qt import * ...
- 利用Qt中的ui文件生成PyQt5程序,自定义槽函数
1.在Qt Creator4.8.0上面设计如上.ui文件 2.点击上方图标,可以建立信号-槽连接,button_click()为自定义槽函数 3.设计目的:点击clear按钮,可消除上方文本框中的内 ...
- C语言程序的结构分析
一个C语言源程序可以由一个或多个源文件组成. 每个源文件可由一个或多个函数组成. 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数. 源程序中可以有预处理命令(include ...
- PyQt5系列教程(三)用py2exe进行程序打包
软硬件环境 Windows 10 Python 3.4.2 PyQt5 Py2exe 前言 在我们开发了完整的PyQt5项目后,一般都会将其打包成exe文件,方便其他人使用.今天我们就用Py2exe这 ...
- 限制pyqt5应用程序 只允许打开一次
起因 pyqt5程序创建桌面快捷方式后,多次单击图标 会打开多个UI界面,这种情况肯定是不允许的! 解决 if __name__ == '__main__': try: app = QtWidgets ...
- 使用py2exe打包你的py程序
软件环境:python3.3.4 + PyQt5 使用py2exe打包写好的py文件,过程如下: 在你要打包的代码文件(比如sample.py)的同文件夹建立一个python代码文件(比如setup. ...
- Python3使用PyQt5制作简单的画板/手写板
0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...
- 微信小程序入门二
# 微信小程序开发实战 ## 准备 ### 课程概要 - 微信小程序基本介绍- 开发环境及工具的安装配置- 微信小程序的设计规范- 微信小程序基本结构分析- WXML和WXSS语法规范- 微信小程序A ...
随机推荐
- html 未选择复选框不上传
问题 之前就遇到类似的问题,在一个列表中,如果有复选框,并且不选中 会导致这个复选框不上传,导致后台接收不到复选框数据 解决方法我想到的就是 <td> <input type=&qu ...
- 以管理员身份运行 Microsoft Edge 时不支持登录
之前一直用 edge chromium bate版本 一直不能登录 今天试了正式版 还是这样 然后百度一大堆没找到解决方案 设置兼容性为windown7 是可以的 但是 UI显示会有问题 再次打开 又 ...
- wamp修改MySQL密码
wamp默认密码为空 用户名为root: 左击wamp绿色小图标,打开phpMyAdmin ->执行 ->账号 ->找到用户名为root的修改权限&&点击修改权限 - ...
- ansible笔记(1):ansible基本概念
一.基础概念 1.ansible是什么? ansible是一个配置管理工具,是一个自动化运维工具. 2.ansible能做什么? 它可以完成一组批量化的工作任务,或者经常重复性的工作任务.例如:a.在 ...
- MAKEFILE_LIST/CURDIR/MAKECMDGOALS/MAKEOVERRIDES/MAKEFLAGS
http://blog.chinaunix.net/uid-29460203-id-4191975.html https://www.xuebuyuan.com/1148403.html?mobile ...
- 【网易官方】极客战记(codecombat)攻略-地牢-恐惧之门
关卡连接: https://codecombat.163.com/play/level/dread-door 恐惧之门后藏满宝藏 简介: while-true 循环可以使用任何方法,如: while ...
- IntelliJ IDEA 2017.3尚硅谷-----查看项目配置
- Linux Centos7文件系统
上期教大家创建分区,刚分区完成后没有文件系统,分区不能使用.本期教大家创建文件系统,(文件系统:操作系统通过文件系统管理文件及数据,创建文件系统的过程俗称格式化.)没有文件系统的设备称之为裸(raw) ...
- AcWing 849. Dijkstra求最短路 I 朴素 邻接矩阵 稠密图
//朴素Dijkstra 边权都是正数 稠密图:点和边差的比较多 #include<cstring> #include<iostream> #include<algori ...
- python爬虫-----Python访问http的几种方式
爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式: 会使用到的库 urllib requests 1.urlopen import urllib. ...