面向过程版

# 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程序基本结构分析的更多相关文章

  1. [python学习笔记] pyinstaller打包pyqt5程序无法运行

    问题 pyinstaller打包的pyqt5程序在部分电脑上会失败.用户截图提示下边错误日志 无法定位程序输入点 ucrtbase.terminate 于动态链接库 api-ms-win-crt-ru ...

  2. Python入门学习——PyQt5程序基本结构

    在学习python GUI部分时,一开始看书有点懵,看不懂框架,以下是个人学习所得(参考了别人的视频讲解),错误之处,望大家指教 #0.导入需要的包和模块from PyQt5.Qt import * ...

  3. 利用Qt中的ui文件生成PyQt5程序,自定义槽函数

    1.在Qt Creator4.8.0上面设计如上.ui文件 2.点击上方图标,可以建立信号-槽连接,button_click()为自定义槽函数 3.设计目的:点击clear按钮,可消除上方文本框中的内 ...

  4. C语言程序的结构分析

    一个C语言源程序可以由一个或多个源文件组成. 每个源文件可由一个或多个函数组成. 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数. 源程序中可以有预处理命令(include ...

  5. PyQt5系列教程(三)用py2exe进行程序打包

    软硬件环境 Windows 10 Python 3.4.2 PyQt5 Py2exe 前言 在我们开发了完整的PyQt5项目后,一般都会将其打包成exe文件,方便其他人使用.今天我们就用Py2exe这 ...

  6. 限制pyqt5应用程序 只允许打开一次

    起因 pyqt5程序创建桌面快捷方式后,多次单击图标 会打开多个UI界面,这种情况肯定是不允许的! 解决 if __name__ == '__main__': try: app = QtWidgets ...

  7. 使用py2exe打包你的py程序

    软件环境:python3.3.4 + PyQt5 使用py2exe打包写好的py文件,过程如下: 在你要打包的代码文件(比如sample.py)的同文件夹建立一个python代码文件(比如setup. ...

  8. Python3使用PyQt5制作简单的画板/手写板

    0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...

  9. 微信小程序入门二

    # 微信小程序开发实战 ## 准备 ### 课程概要 - 微信小程序基本介绍- 开发环境及工具的安装配置- 微信小程序的设计规范- 微信小程序基本结构分析- WXML和WXSS语法规范- 微信小程序A ...

随机推荐

  1. 图像变换 - 霍夫线变换(cvHoughLines2)

    霍夫变换是一种在图像中寻找直线.圆及其他简单形状的方法,霍夫线变换是利用Hough变换在二值图像中找到直线. 利用CV_HOUGH_PROBABILISTIC,对应PPHT(累计概率霍夫变换)?这个算 ...

  2. php 扩展引入

    继承引入参数 <?php class A { private $name; private $age; private $time; public function __construct($n ...

  3. 题解【CodeForces1154A】Restoring Three Numbers

    Description Polycarp has guessed three positive integers \(a\), \(b\) and \(c\). He keeps these numb ...

  4. 通过JMX获取JVM信息

    package com.googosoft.gateway_zuul; import java.lang.management.ClassLoadingMXBean; import java.lang ...

  5. 从ICG cell 在 library 中的定义说起

    如Coding 时需要考虑什么样的代码风格会使gating 的效率更高:综合时需要特别设置要插入的gating 类型,每个gating 的fanout 范围,是否可以跨层次,是否需要做physical ...

  6. VS2017 + Windows10编译C++ MongoDB驱动

    转载地址:https://blog.csdn.net/sqcfj/article/details/86716831 mongoDB有两个接口库:mongo-c-driver和mongo-cxx-dri ...

  7. 对于一些stl自定义比较函数

    1.unorderd_map自定义键 自定义类型 struct my_key { int num; string name; }; 1.由于unordered_map是采用哈希实现的,对于系统的类型i ...

  8. 计算几何-BZOJ2618-凸包的交-HPI

    This article is made by Jason-Cow.Welcome to reprint.But please post the article's address. bzoj2618 ...

  9. Go第三方库之tail

    Tail Demo // tail.TailFile()函数开启goroutine去读取文件,通过channel格式的t.lines传递内容. t, err := tail.TailFile(&quo ...

  10. OO完结篇-第四单元小结

    OO第四单元小结 一.作业架构分析. 1.第一次作业 本次作业需要完成UML类图查询. 难点在于初次接触UML,需要对UML进行一定程度的学习和理解. 思路主要是根据每个传进来的element获取其t ...