PyQT模块、类、控件介绍

news2024/11/24 14:54:27

最近在搞一些基于PyQT的开发,开发过程中一直对PyQT相关模块、类、控件比较模糊,于是花了一些力气,去收集和整理了一下PyQT的一些基础,希望对大家有帮助!

5da60ae67e82181735903bf3038b9352.png

PyQT模块

QtCore模块

涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及的时间、文件、目录、数据类型、文本流、链接、QMimeData、线程或进程等对象。

QtGui模块

涵盖了多种基本图形功能的类,包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面、字体和文本类。

QtWidgets模块

包含了一整套UI元素控件,用于建立符合系统风格的Classic界面,非常方便,可以在安装时选择是否使用此功能。

QtMultimedia模块

包含了一套类库,用于处理多媒体事件,通过调用API接口访问摄像头、语音设备、收发消息(Radio  Functionality)等。

QtBluetooth模块

包含了处理蓝牙活动的类库,其功能包括:扫描设备、连接、交互等行为。

QtNetwork模块

包含了用于进行网络编程的类库,通过提供便捷的TCP/IP及UDP的C/S代码集合,使得基于Qt的网络编程更容易。

QtPositioning模块

用于获取位置信息,此模块允许使用多种方式实现定位,包括但不限于:卫星、无线网、文字信息。此模块一般用在网络地图定位系统中。

Enginio模块

用于构建客户端的应用程序库,在运行时访问Qt  Cloud 服务器托管的应用程序。

QtWebSockets模块

包含了一组类程序,用于实现WebSocket协议。

QtWebKit模块

包含了用于实现基于WebKit2的网络浏览器的类库。

QtWebKitWidgets模块

提供了一组类库,用于实现一种由Widgets包构建的、基于WebKit1的网络浏览器。

QtXml模块

包含了用于处理XML的类库,此模块为SAX和DOM  API 的实现提供了函数。

QtSvg模块

通过一组类库,为显示矢量图形文件的内容提供了函数。

QtSql模块

提供了数据库对象的接口以供使用。

QtTest模块

包含了通过单元测试,调试PyQt5应用程序的功能。

QtHelp模块

包含了用于创建和查看可查找的文档的类。

QtOpenGL模块

使用OpenGL库来渲染3D和2D图形。该模块使得Qt  GUI库和OpenGL库无缝集成。

QtXmlPatterns模块

所包含的类实现了对XML和自定义数据模型的Xquery与XPath的支持。

QtDesigner模块

所包含的类允许使用PyQt扩展Qt  Designer。

Qt模块

将上面模块中的类综合到一个单一的模块中。这样做的好处是你不用担心哪个模块包含了哪个特定的类;坏处是加载到整个Qt框架中,从而增加了应用程序的内存占用。

uic模块

所包含的类用来处理.ui文件,该文件由Qt  Designer创建,用于描述整个或者部分用户界面。它可以将.ui文件编译为.py文件,以便其他Python程序调用。

PyQT主要类

QObject类

在类层次结构中是顶部类(Top  Class),它是所有PyQt对象的基类。

QPaintDevice类

所有可绘制的对象的基类。

QFrame类

有框架的窗口控件的基类。它也被用来直接创建没有任何内容的简单框架,但是通常要用到QHBox或QVBox,因为它们可以自动布置放到框架中的窗口控件。

QApplication类

用于管理图形用户界面应用程序的控制流和主要设置。它包含主事件循环,对来自窗口系统和其他资源的所有事件进行处理和调度;它也对应用程序的初始化和结束进行处理,并且提供对话管理;还对绝大多数系统范围和应用程序范围的设置进行处理。

QMainWindow类

提供一个有菜单栏、锚接窗口(如工具栏)和状态栏的主应用程序窗口。

QWidget类

所有用户界面对象的基类。QDialog类和QFrame类继承自QWidget类,这两个类有自己的子类系统(Sub-Class  System)。

QDialog类

最普通的顶级窗口。如果一个窗口控件没有被嵌入到父窗口控件中,那么该窗口控件就被称为顶级窗口控件。

PyQT主要控件

QLabel控件

用来显示文本或图像

QLineEdit窗口控件

提供了一个单页面的单行文本编辑器

QTextEdit窗口控件

提供了一个单页面的多行文本编辑器

QPushButton窗口控件

提供了一个命令按钮

QRadioButton控件

提供了一个单选钮和一个文本或像素映射标签

QCheckBox窗口控件

提供了一个带文本标签的复选框

QspinBox控件

允许用户选择一个值,要么通过按向上/向下键增加/减少当前显示值,要么直接将值输入到输入框中

QScrollBar窗口控件

提供了一个水平的或垂直的滚动条

QSlider控件

提供了一个垂直的或水平的滑动条

QComboBox控件

一个组合按钮,用于弹出列表

QMenuBar控件

提供了一个横向菜单栏

QStatusBar控件

提供了一个适合呈现状态信息的水平条,通常放在QMainWindow的底部

QToolBar控件

提供了一个工具栏,可以包含多个命令按钮,通常放在QMainWindow的顶部

QListView控件

可以显示和控制可选的多选列表,可以设置ListMode或IconMode

QPixmap控件

可以在绘图设备上显示图像,通常放在QLabel或QPushButton类中

Qdialog控件

对话框窗口的基类

QT Designer控件

控件名称

说明

控件名称

说明

Layouts——布局管理

VerticalLayout

垂直布局

HorizontalLayout

水平布局

GridLayout

网格布局

FormLayout

表单布局

Spacers——弹簧

HorizontalSpacer

水平弹簧

VerticalSpacer

垂直弹簧

Buttons——按钮类

PushButton

按钮

ToolButton

工具按钮

RadioButton

单选按钮

CheckBox

复选框

CommandLinkButton

命令链接按钮

DialogButtonBox

对话框按钮盒

Item Views(Model-Based)——项目视图

ListView

列表视图

TreeView

树视图

TableView

表格视图

ColumnView

列视图

UndoView

撤销命令显示视图



Item Widgets(Item-Based)——项目控件

ListWidget

列表控件

TreeWidget

树控件

TableWidget

表格控件



Containers——容器

GroupBox

分组框

ScrollArea

滚动区域

ToolBox

工具箱

TabWidget

选项卡

StackedWidget

堆栈窗口

Frame

Widget

小部件

MDIArea

MDI区域

DockWidget

停靠窗口



Input——输入控件

ComboBox

下拉组合框

FontComboBox

字体组合框

LineEdit

单行文本框

TextEdit

多行文本框

PlainTextEdit

纯文本编辑框

SpinBox

数字选择控件

DoubleSpinBox

小数选择控件

TimeEdit

时间编辑控件

DateEdit

日期编辑框

DateTimeEdit

日期时间编辑框

Dial

旋钮

HorizontalScrollBar

横向滚动条

VerticalScrollBar

垂直滚动条

HorizontalSlider

横向滑块

VerticalSlider

垂直滑块

KeySequenceEdit

按键编辑框

Display Widgets——显示控件

Label

标签控件

TextBrowser

文本浏览器

GraphicsView

图形视图

CalendarWidget

日期控件

LCDNumber

液晶数字显示

ProgressBar

进度条

HorizontalLine

水平线

VerticalLine

垂直线

OpenGLWidget

开放式图形库工具



控件命名规范

控件名称

命名

控件名称

命名

Label

lab

ListView

lv

LineEdit

ledit

ListWidget

lw

TextEdit

tedit

TreeView

tv

PlainTextEdit

pedit

TreeWidget

tw

TextBrowser

txt

TableView

tbv

PushButton

pbtn

TableWidget

tbw

ToolButton

tbtn

GroupBox

gbox

CommandLinkButton

linbtn

SpinBox

sbox

RadioButton

rbtn

TabWidget

tab

CheckBox

ckbox

TimeEdit

time

QtCore模块常用类

pyqtSignal:信号函数,一般跟槽配合使用 
pyqtSlot:槽函数,一般跟信号配合使用
QSize:用来设置控件尺寸大小(长、宽)
QRect:用来绘制矩阵
QThread:线程类
QTimer:计时器类
QObject:对象类
QUrl:URL类
QTime:时间类
QDate:日期类
QMutex:线程锁类
QFile:文件类

QtGui模块常用类

QIcon:图标类,用于设置窗口图标
QFont:字体类,用于设置字体格式
QColor:颜色类,用于设置控件、画布等颜色
QBrush:笔刷类,用于绘制图形形状的背景,如矩形、椭圆或多边形。笔刷可以有三种不同的类型:预定义的笔刷、渐变或纹理模式。
QPainter:执行绘图操作的类,可以绘制从简单的直线到复杂的饼图等。
QPen:画笔类,用于绘制矩形,椭圆,多边形或其他形状的线条,曲线和轮廓。
QImage:用于将图片显示在窗口上

QtWidgets常用控件类

QApplication:用于管理图形用户界面应用程序的控制流和主要设置,是PyQt的整个后台管理的命脉。任何一个使用PyQt开发的图形用户界面应用程序,都存在一个QApplication对象。
QMainWindow:继承自QWidget类,是一个顶层窗口,它可以包含很多界面元素,如菜单栏、工具栏、状态栏、子窗口等。
QMdiSubWindow:子窗口类,跟QMdiArea配合使用
QWidget:所有用户界面对象的基类,所有的窗口或控件都直接或间接的继承自它。
QLabel:标签类
QPushButton:按钮类
QLineEdit:文本框控件类,仅支持单行输入
QAction:动作类,通常跟菜单类配合使用,点击某菜单触发对应操作。
QComboBox:下拉框类
QDialog:对话框类
QCheckBox:复选框类
QMenuBar:它作用就是在窗口顶部生成菜单类栏
QMenu:菜单栏选项类,它的作用就是生成选项
QTabWidget:选项卡界面控件类
QStatusBar:窗体状态栏
QFrame:继承自QWidget,主要用来控制一些边框样式:凸起,凹下,阴影,线宽
QSizePolicy:尺寸策略类,用于布局管理器
QGroupBox:分组框控件类
QTextEdit:文本框控件类,支持多行输入
QSpinBox:计数器控件类
QListWidget:列表控件类,与QListWidgetItem一起使用
QListWidgetItem:列表控件的子项
QProgressBar:进度条控件类
QRadioButton:单选框控件类
QPlainTextEdit:纯文本编辑框
QTableWidget:表格控件类
QTableWidgetItem:表格单元格选项,与QTableWidget一起使用
QTextBrowser:文本浏览器
QSplitter:组件分割器,实现窗体分割
QDialogButtonBox:
QSlider:滑动条控件
QScrollArea:滚动区域控件
QMessageBox:消息框控件,继承自QDialog类,用于显示提醒、警告、错误等信息,或进行确认选择。
QDoubleSpinBox:小数选择控件
QTreeWidget:树控件
QStackedWidget:堆栈窗口
QToolBar:工具栏控件
QDesktopWidget:
QGraphicsView:图形视图
QToolButton:工具按钮
QTreeWidgetItem:
QTableView:TableView
QTreeView:树视图
QDockWidget:
QFileDialog:文件对话框
QListView:列表视图
QButtonGroup:按钮组
QScrollBar:滚动区域
QDateEdit:日期编辑框
QFontComboBox:字体选择框
QFileSystemModel:

最后欢迎关注公众号:python与大数据分析

c28f0b5804d7082f1f17fc3adf6a53bf.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/825626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows 安装 Mysql 5.7 和8.0

下载链接 https://dev.mysql.com/downloads/mysql/

【echarts饼图】legend显示data中的name和value

效果图: legend自定义显示格式: legend: {formatter: function (name) {let v;optionCheck.series.data.forEach((item) > {if (item.name name) {v item.value;}});return name v;},},全部配置项: const optionCheck reactive(…

Shell脚本学习-MySQL单实例和多实例启动脚本

已知MySQL多实例启动命令为: mysqld_safe --defaults-file/data/3306/my.cnf & 停止命令为: mysqladmin -uroot -pchang123 -S /data/3306/mysql.sock shutdown 请完成mysql多实例的启动脚本的编写: 问题分析: 要想写出脚…

BES 平台 SDK之提示音的添加

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用! BES 平台 SDK之按键的配置_谢文浩的博客-CSDN博客 关于系统按键简介可参考上一篇文章。链接如上所示! 一&am…

工作流管理软件的好处:提升效率、优化流程的利器

一旦您投资了工作流管理系统,就没有回头路了。这是让您的员工满意的完美公式,同时确保所有流程以最高效率和及时完成。事实证明,这些实用的工作流程管理工具对为其客户提供基于知识的专业服务的组织有益(在我们的专业服务指南中了…

【3维视觉】3D空间常用算法(点到直线距离、面法线、二面角)

3D空间点到直线的距离 3D空间点到直线的距离 3D空间的曲率 三维空间有三个基本元素,点,线,面。那么曲率是如何定义的呢? 点的曲率? 线的曲率? 面的曲率? 法曲率 设曲面上的曲线在某一点处的切…

【Spring Boot】请求参数传json数组,后端采用(pojo)新增案例(103)

请求参数传json数组,后端采用(pojo)接收的前提条件: 1.pom.xml文件加入坐标依赖:jackson-databind 2.Spring Boot 的启动类加注解:EnableWebMvc 3.Spring Boot 的Controller接受参数采用:Reque…

第一个 vue-cli 项目

一、什么是 vue-cli vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,我们的开发更加…

为什么数字孪生和GIS高度互补?它们是如何实现互补的?

在数字化时代,数字孪生和GIS作为两项重要技术,它们的融合正日益受到人们的关注和认可。数字孪生是将实体世界与数字世界紧密结合的技术,可以创建实时的虚拟副本,对物理系统进行模拟、优化和预测。而GIS则是用于收集、管理、分析和…

js将当前时间转换成标准的年月日

直接上代码了: /*** * param e 转换成标准的年月日进行拆分* returns */changeCreationtime(e:any) {let year e.getFullYear(),month (e.getMonth() 1) > 9 ? (e.getMonth() 1) : 0 (e.getMonth() 1),day e.getDate() > 9 ? e.getDate() : 0 e.get…

__block的深入研究

__block可以用于解决block内部无法修改auto变量值的问题 __block不能修饰全局变量、静态变量(static) 编译器会将__block变量包装成一个对象 调用的是,从__Block_byref_a_0的指针找到 a所在的内存,然后修改值 第一层拷贝&…

VLAN介绍

目录 VLAN的特点: VLAN的好处: VLAN的实现原理 VLAN标签 VLAN的划分方式 接口划分VLAN--接口类型 Access接口 Trunk接口 Hybrid接口 实现VLAN之间通信 使用路由器物理接口 使用子接口 使用三层交换机的VLANIF接口 配置 VLANIF的转发流程 三层交换机参与下的三层…

【图解】Mask R-CNN 架构

Mask R-CNN 是一种自顶向下(top-down)的姿态估计模型,它是在 Faster R-CNN [44] 这个目标检测框架的基础上扩展而来的。目标检测是指从图像中检测出不同类别的物体,并且输出它们的边界框(bounding box)。 …

exp/imp选项说明

1、exp选项 2、imp选项 3、举例 (1)、imp system/manager filetank logtank fromuser(seapark,amy) touser(seapark1, amy1);(2)、imp system/manager file(paycheck_1,paycheck_2,paycheck_3,paycheck_4) logpaycheck.log filesize1G fully;(3)、imp system/manager fileseap…

【css】解决元素浮动溢出问题

如果一个元素比包含它的元素高&#xff0c;并且它是浮动的&#xff0c;它将“溢出”到其容器之外&#xff1a;然后可以向包含元素添加 overflow: auto;&#xff0c;来解决此问题&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head> <style>…

如何克服学习和工作中的焦虑和迷茫

如何克服学习和工作中的焦虑和迷茫 &#x1f607;博主简介&#xff1a;我是一名正在攻读研究生学位的人工智能专业学生&#xff0c;我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑&#xff0c;欢迎随时来交流哦&#xff01;&#x1f6…

落实《中国人民银行业务领域数据安全管理办法》,极盾科技是怎么做的?

“软标准”变成“硬规范”&#xff01; 近日&#xff0c;央行发布《中国人民银行业务领域数据安全管理办法》征求意见稿&#xff08;以下称《管理办法》&#xff09;&#xff0c;以部门规范性文件的方式&#xff0c;全面衔接《数据安全法》&#xff0c;细化明确中国人民银行业…

村田授权代理:共模扼流线圈针对汽车专用设备高频噪声的降噪对策

车载市场正不断扩充ADAS、自动驾驶、V2X、车载信息系统等的应用。由于此类应用要处理庞大的信息&#xff0c;因此为了执行处理&#xff0c;内部处理信号的处理速度亦不断高速化。另一方面&#xff0c;由于部件数量增多&#xff0c;安装密度增大&#xff0c;因此要求部件小型化。…

364 · 接雨水 II

链接&#xff1a;九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 题解&#xff1a; 九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧

OpenAI的提供的Model简要介绍

OpenAI提供的model 通过OpenAI的接口可以查看所有支持的模型(目前的账号无GPT4的权限&#xff0c;所以没有列举GPT4相关的模型)。 import os import openai import pandas as pd from IPython.display import displayopenai.api_key os.getenv("OPENAI_API_KEY")…