PyQT模块、类、控件介绍

IT知识
225
0
0
2024-01-07

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

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: