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 ...
随机推荐
- 隐写工具F5-steganography的使用
1.git clone https://github.com/matthewgao/F5-steganography 2.进入F5-steganography-master文件夹,在空白处 ctrl+ ...
- c++对象的内存模式
#include <iostream> using namespace std; class Obj { private: int* a; public: int* ga() { retu ...
- Iframe 高度自适应,js控制Iframe 高度自适应
Iframe 高度自适应, js控制Iframe 高度自适应, iframe自适应高度 ================================ ©Copyright 蕃薯耀 2019年12 ...
- 第二十四篇 玩转数据结构——队列(Queue)
1.. 队列基础 队列也是一种线性结构: 相比数组,队列所对应的操作数是队列的子集: 队列只允许从一端(队尾)添加元素,从另一端(队首)取出元素: 队列的形象化描述如下图: 队列是一种先进 ...
- vue指令及组件
复习 """ vue: 为什么选择vue - 综合其他框架优点,轻量级,中文API,数据驱动,组件化开发,数据的双向绑定,虚拟DO 渐进式js框架 - 选择性控制 - 创 ...
- Java 常见异常及处理方案
Java 常见异常处理方案 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error: ...
- 问题 A: 【贪心】排队接水
问题 A: [贪心]排队接水 时间限制: 1 Sec 内存限制: 128 MB[命题人:外部导入] 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种 ...
- 每天进步一点点------SOPC的Avalon-MM IP核(二) AVALON总线的IP核定制
简介 NIOS II是一个建立在FPGA上的嵌入式软核处理器,除了可以根据需要任意添加已经提供的外设外,用户还可以通过定制用户逻辑外设和定制用户指令来实现各种应用要求.这节我们就来研究如何定制基于Av ...
- JEECG弹出框提交表单
一.设备主页面(deviceMain.jsp) <t:dgToolBar title="编辑设备" icon="icon-edit" url=" ...
- Codeforces Round #577 (Div. 2) 题解
比赛链接:https://codeforc.es/contest/1201 A. Important Exam 题意:有\(n\)个人,每个人给出\(m\)个答案,每个答案都有一个分值\(a_i\), ...