最近在搞一些基于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: |