GUI编程—PyQt5学习笔记1

2023-11-07

GUI:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

PyQt5常用模块:
QtWidgets:包含了一整套UI元素控件,用于建立符合系统风格的界面
QtGui:涵盖了多种基本图形功能的类(字体、图形、图标、颜色、、、)
QtCore:涵盖了包的核心的非GUI功能(时间、文件、目录、数据类型、文本流、链接、线程进程、、、)
QtWebKit
QtTest
QtSql
QtMultimedia

万能模块导入:可以不用具体了解类属于哪个模块,但非常占用内存

from PyQt5.Qt import *

学习内容:

一、基本程序结构

(面向过程版本)

1.导入需要的包和模块

import sys
from PyQt5.Qt import *

2.创建一个应用程序对象

app=QApplication(sys.argv)

【注】:sys.argv的主要功能在于当别人通过命令行启动这个程序时,可以设定一种功能(接收命令行传递的参数来执行不同的业务逻辑)

3.控件操作
3.1 创建控件

window=QWidget()

当我们创建一个控件后,若该控件没有副控件,则把它当作顶层控件(窗口),系统会自动给窗口添加一些修饰(标题栏)

3.2 设置控件
单个控件也可以作为一个容器,承载其他控件,因此需要添加父控件
如:

label=QLable(window)  

把之前创建的空白窗口作为父控件传过来

3.3 展示控件

window.show()

4.控制退出

sys.exit(app.exec_())  

可以保证应用不会退出,让应用开始执行,并进入消息循环
【注】可以检查程序退出错误码

(面向对象版本)
import sys
from PyQt5.Qt import *
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        #设置窗口标题
        self.setWindowTitle("ss")
        self.resize(500,600)
        self.setup_ui()
    #所有添加子控件的操作都放在这里
    def setup_ui(self):
        pass
        #添加子控件代码
if __name__=="__main__":
    #创建QApplication类的实例
    app=QApplication(sys.argv)
    main=MainWindow()
    main.show()
    sys.exit(app.exec_())

二、各种控件的特性和使用
控件是指一个程序界面上的各个独立的元素,具备不同的功能
常用控件包括:
1.按钮控件
QPushButton
在这里插入图片描述
QCommandLinkButton
在这里插入图片描述

QRadisButton(单选按钮)
在这里插入图片描述

QCheckButton
在这里插入图片描述
2.输入控件(文本)
2.1纯键盘输入
QLineEdit(单行输入框)
在这里插入图片描述
QTextEdit(多行输入框,不局限于文本,可以是图片,超链接等)
在这里插入图片描述
QPlainTextEdit(多行输入框,只局限于文本格式)
在这里插入图片描述
QKeySequenceEdit(用来采集快捷方式的)

2.2步长调节(QAbstractSpinBox)(键盘+鼠标)
QDateTimeEdit(用来采集日期时间)
可以分开为:QDataEdit和QTimeEdit
在这里插入图片描述
QSpinBox(简单的整型数字步长调节)
在这里插入图片描述
QDoubleSpinBox(浮点数字步长调节)
在这里插入图片描述
2.3组合框(下拉选择输入)
QComboBox
在这里插入图片描述
QFontComboBox(用来选择字体)
在这里插入图片描述

2.4滑块(QAbstractSlider)(鼠标)
QDail
在这里插入图片描述
QSlider
在这里插入图片描述

QScrollBar
在这里插入图片描述
2.5橡皮筋选中
QRubberBand

2.6对话框(QDialog)

QColorDislog(颜色对话框,用来选择颜色)
QFileDialog(文件对话框,用来选择文件)
QFontDialog(字体对话框,用来选择字体)
QInputDialog(输入对话框,用来接收用户输入)

2.7日期
QCalenderWidget
在这里插入图片描述
3.展示控件
QLabel:普通文本,数字,富文本(超链接),图片,动画
在这里插入图片描述
QLCDNumber
在这里插入图片描述
QProgressBar(进度条)
在这里插入图片描述
对话框QDialog

QMessageBox
QErrorMessage
QProgressDialog

4.容器控件

QToolBox
QDialogButtonBox
QGroupBox
QMidSubWindow

5.结构控件
QMainWindow

QMenuBar(菜单栏)
QToolBar(工具栏)
    QToolButton
QStatusBar(状态栏)

QTabWidget(标签界面)
QStackedWidget(栈界面)
QSplitter(分割界面)
QDockWidget(让部分控件悬浮)

6.滚动控件
QAbstractScrollArea

QTextBrowser
QScrollArea
QAbstractItemView
    QCloumnView
    QHeaderView
    QListView
    QTableView
    QTreeView
QMidiarea
QGraphicsView

7.辅助控件
QFocusFrame
QSizeGrip
QDesktopWidget

8.其他
8.1 向导/打印对话框

QWizard(向导界面):QWizardPage
QAbstractPrintDialog(打印界面):QPrintDialog
QPrintPreviewDialog(打印预览界面): QPrintPreviewWidget
QPageSetupDialog(页面设置)

8.2 欢迎界面(应用在软件打开之前)

QSlashScreen

8.3 功能性控件

  QVideoWidget(视频展示):QCameraViewfinder(相机)
  QWebEngineView(浏览器展示)

三、控件的样式
四、资源的加载
五、控件的布局
六、事件和信号
七、动画特效
八、界面跳转(多界面)
九、设计工具使用(Qt Designer)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GUI编程—PyQt5学习笔记1 的相关文章

  • InnoDB undo log解析(一)

    InnoDB undo log解析 一 2016 11 28 14 38 277人阅读 评论 0 收藏 举报 在InnoDB存储引擎中 undo log用来完成事务的回滚以及MVCC的功能 但是InnoDB本身提供对于undo log的分析
  • CV代码细节总结(一)

    提示 CV代码细节总结一 目录 前言 一 Python skimage PIL openCV读取的默认格式和通道顺序 二 Python PIL Image获取图像像素时 图像的原点及x y的方向 三 np linalg norm 用法 四
  • 怎么把ide改成ahci_无需重装操作系统,IDE模式轻松改成AHCI模式

    之前写过一个帖子 叫 Win10系统无需重装 硬盘IDE轻松改为AHCI模式的方法 虽然这个方法比较实用 但是却只适用于win10操作系统 那对于其它操作系统 例如现在比较流行的win7 win8 1 就不管用了 其实不重新安装操作系统 I
  • [毕业设计]2022-2023年最新最全计算机专业毕设选题推荐汇总

    目录 javaweb信息管理系统或web应用选题 应用开发类 微信小程序开发方向 游戏动画 数字媒体方向 深度学习 机器学习方向 算法研究方向 物联网 嵌入式方向 信息安全 网络安全 大数据分析 大数据预测 Matlab 选题迷茫 选题的重

随机推荐

  • 【windows-ubuntu通过局域网连接共享文件夹以传输文件】

    windows ubuntu局域网共享文件夹 windows创建共享文件夹 ubuntu通过mount cifs局域网挂载以传输文件 文章目录 windows ubuntu局域网共享文件夹 1 Windows创建共享文件夹 2 Window
  • Latex常见符号对照表

    摘要 Latex可以很方便的利用命令来生成各式各样的特殊符号 这里根据官方的文档将这些常见符号列出 以备查用 B 1 希伯来和希腊字母 Hebrew and Greek letters 希伯来语 希腊语 数学表达式中常常用下面的这些符号 分
  • Unity3D-UGUI-带滚动条的滑动文本框

    1 在Canvas新建一个Panel 添加 scroll Rect和mask组件 2 Panel下新建一个Text Vertical Overflow设置成Overflow 然后添加 Content Size Fitter这个Layout
  • 请求“System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的

    我想哭了 公司要求做一个sharepoint管理用户的模块 具体就是要做一个用户登陆的页面 并且管理员用户可以管理这些登陆用户账号 从一点也不懂 到现在慢慢查看资料 慢慢学着做 期间也遇到了不少问题 但是基本上网上都能找到答案 但是在web
  • Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到教程 一 Kotlin的可空性 null 在java中我们司空见惯的空指针异常NullPointerException 带给了我们很多麻烦 K
  • spring boot 限制初始值大小及参数中文详解

    要加 m 说明是MB 否则就是KB了 Xms 初始值 Xmx 最大值 Xmn 最小值 java Xms10m Xmx80m jar mod jar 时区设置 java jar Duser timezone GMT 08 mod jar 普通
  • linux系统中设置服务开机自启动

    1 背景描述 最近根据工作需要 需要服务实现开机自启动的效果 因为平时只使用过nohup的后台挂起操作 很少接触开机 镜像装机服务自启动的功能 因此 这里简单记录一下 注意 开机自启动和上面的hohup的表现不一样 开机自启动保证了系统重启
  • [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.0.RELEASE:repac

    ERROR Failed to execute goal org springframework boot spring boot maven plugin 2 3 0 RELEASE repackage default on projec
  • Cookie伪造

    解题 创建了一个user用户登陆之后发现 抓包看一下 登录 注册完一个账号 sgx密码 sgx 随便注册 第一次登录时发现它会在服务器中存下一个cookie值并且前缀都是351e766803 把后面的md5解密下发现是sgx和limited
  • 掌握vue指令之(7)v-html指令

    7 v html指令 问题 如果要绑定的变量值是一段HTML代码 则使用 绑定 会保持HTML代码的原样 而不经过编译 直接显示在页面上 解决 今后 只要要绑定的变量值是一段HTML代码 则必须用v html指令代替 来绑定 写法 lt 元
  • MySQL详细安装教程

    1 安装 1 双击打开安装程序 正在安装 2 Choosing a Setup Type界面 在此界面选择Custom 手动安装某些软件 随后点击Next 3 Select Products界面 左框内为可选择安装的软件 右框为已选择准备安
  • CVE-2023-28708 原理剖析

    CVE 2023 28708 原理剖析 这应该不是一个严重的漏洞 可能评分只能为低 因为并没有什么卵用 话不多说 直接进入正题 我的复现环境 tomcat 8 5 50 首先我们得简单写一个servlet 当然不写也没事 因为我们的分析到不
  • Ant Design of Vue动态生成菜单项

    有这样一种情况 需要
  • 1. 嵌入式OpenWRT入门基础篇-----OpenWRT源码下载、编译

    之前一直在做关于op系统的项目 现在不从事这一行了 或许以后也不会了 趁现在还有点记忆 因此在此也算记录一下以前的工作吧 因为OpenWRT是一个很完善的系统 本系列博客也是按照整个系统的开发步骤进行的 本人技术水平不精 如有错误之处 还望
  • Kubernetes初始化集群时报错[ERROR Port-10259]: Port 10259 is in use

    错误原因 节点被占用 报错信息 W0823 00 33 45 142456 107567 validation go 28 Cannot validate kube proxy config no validator is availabl
  • Qt动态属性

    动态属性 在标准C 中 为了保证封装性 我们经常声明一个私有变量 然后声明两个公有函数 即set函数和get函数 在Qt中我们可以使用宏Q PROPERTY 宏来实现这些 一个属性可以使用常规函数QObject property 和QObj
  • 程序员赚钱致富的6种方法

    我认识一个朋友 也是程序员出身 他在一家还不错的外企上班 每个月工资收入也就差不多15K 五年的工作经验了 在他面前 我算是小弟 那天我们几个朋友一起打完球就去附近的饭馆吃饭 环境还不错 于是就边吃边聊工作 赚钱的事情 那天了解到 他不仅拿
  • macOS查看IP地址的命令

    查看内网的 IP 地址 ipconfig getifaddr en0 Last login Thu Aug 11 17 13 00 on ttys000 grnt wMacBook Pro ipconfig getifaddr en0 19
  • nginx用户认证配置

    1 用户认证模块 在 nginx 下 提供了 ngx http auth basic module 模块实现让用户只有输入正确的用户名密码才允许访问web内容 默认情况下 nginx 已经安装了该模块 所以整体的一个过程就是先用第三方工具设
  • GUI编程—PyQt5学习笔记1

    GUI 图形用户界面 Graphical User Interface 简称 GUI 又称图形用户接口 是指采用图形方式显示的计算机操作用户界面 PyQt5常用模块 QtWidgets 包含了一整套UI元素控件 用于建立符合系统风格的界面