- PyQt 教程
- PyQt - 首页
- PyQt - 简介
- PyQt - 环境搭建
- PyQt - Hello World
- PyQt - 主要类
- PyQt - 使用 Qt Designer
- PyQt - 元对象
- PyQt 信号与槽
- PyQt - 信号和槽
- PyQt - 支持和信号
- PyQt - 未绑定和绑定信号
- PyQt - 使用 PyQtSignal 创建新信号
- PyQt - 连接、断开和发射信号
- PyQt - 槽装饰器
- PyQt - 槽连接
- PyQt 布局
- PyQt - 布局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控件
- PyQt - 基本控件
- PyQt - QLabel 控件
- PyQt - QLineEdit 控件
- PyQt - QPushButton 控件
- PyQt - QRadioButton 控件
- PyQt - QCheckBox 控件
- PyQt - QComboBox 控件
- PyQt - QSpinBox 控件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控件
- PyQt - QFontComboBox 控件
- PyQt - QDoubleSpinBox 控件
- PyQt - QToolBox 控件
- PyQt - QDialog 类
- PyQt - QMessageBox
- PyQt - 多文档界面
- PyQt - 拖放操作
- PyQt 绘图 API
- PyQt - 绘图 API
- PyQt 数据库
- PyQt - 数据库处理
- PyQt 基础知识
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 类
- PyQt 有用资源
- PyQt - 快速指南
- PyQt - 有用资源
- PyQt - 讨论
PyQt - 基本控件
PyQt 控件是用于在 PyQt 应用程序中创建用户界面的图形元素。这些控件用于各种目的,例如显示信息、接受用户输入或提供交互控制。PyQt 提供了各种预构建的控件,开发人员可以使用它们来高效地构建桌面应用程序。
以下是我们将在本章中逐一讨论的控件列表。
序号 | 控件及描述 |
---|---|
1 | QLabel
QLabel 对象充当占位符,用于显示不可编辑的文本或图像,或动画 GIF 的影片。它还可以用作其他控件的助记键。 |
2 | QLineEdit
QLineEdit 对象是最常用的输入字段。它提供一个框,可以在其中输入一行文本。要输入多行文本,需要使用 QTextEdit 对象。 |
3 | QPushButton
在 PyQt API 中,QPushButton 类对象呈现一个按钮,单击该按钮可以编程为调用某个函数。 |
4 | QRadioButton
QRadioButton 类对象呈现一个带有文本标签的可选中按钮。用户可以选择表单上提供的多个选项中的一个。此类派生自 QAbstractButton 类。 |
5 | QCheckBox
当将 QCheckBox 对象添加到父窗口时,文本标签前面会出现一个矩形框。与 QRadioButton 一样,它也是一个可选中按钮。 |
6 | QComboBox
QComboBox 对象提供一个下拉列表,从中选择项目。它在表单上占用最小的屏幕空间,只需显示当前选定的项目。 |
7 | QSpinBox
QSpinBox 对象向用户提供一个文本框,该文本框显示一个整数,其右侧带有向上/向下按钮。 |
8 | QSlider 控件和信号
QSlider 类对象向用户提供一个槽,可以在其上移动一个手柄。它是控制有界值的经典控件。 |
9 | QMenuBar、QMenu 和 QAction
QMainWindow 对象标题栏正下方预留了一个水平 QMenuBar,用于显示 QMenu 对象。 |
10 | QToolBar
QToolBar 控件是一个可移动的面板,包含文本按钮、带图标的按钮或其他控件。 |
11 | QInputDialog
这是一个预配置的对话框,带有一个文本字段和两个按钮“确定”和“取消”。在用户单击“确定”按钮或按 Enter 键后,父窗口将在文本框中收集输入。 |
12 | QFontDialog
另一个常用的对话框,字体选择器控件是 QDialog 类的视觉外观。此对话框的结果是 Qfont 对象,父窗口可以使用该对象。 |
13 | QFileDialog
此控件是文件选择器对话框。它使用户能够浏览文件系统并选择要打开或保存的文件。可以通过静态函数或通过在对话框对象上调用 exec_() 函数来调用该对话框。 |
14 | QTab
如果表单有太多字段无法同时显示,则可以将它们排列在选项卡式控件每个选项卡下放置的不同页面中。QTabWidget 提供一个选项卡栏和一个页面区域。 |
15 | QStacked
QStackedWidget 的功能类似于 QTabWidget。它还有助于有效利用窗口的客户区。 |
16 | QSplitter
如果表单有太多字段无法同时显示,则可以将它们排列在选项卡式控件每个选项卡下放置的不同页面中。QTabWidget 提供一个选项卡栏和一个页面区域。 |
17 | QDock
可停靠窗口是一个子窗口,可以保持浮动状态,也可以附加到主窗口的指定位置。QMainWindow 类的主窗口对象有一个为可停靠窗口预留的区域。 |
18 | QStatusBar
QMainWindow 对象在底部预留了一个水平栏作为状态栏。它用于显示永久或上下文状态信息。 |
19 | QList
QListWidget 类是基于项目的界面,用于向列表中添加或删除项目。列表中的每个项目都是一个 QListWidgetItem 对象。可以将 ListWidget 设置为可多选。 |
20 | QScrollBar
滚动条控件使用户能够访问文档中位于可见区域之外的部分。它提供当前位置的视觉指示。 |
21 | QCalendar
QCalendar 控件是一个有用的日期选择器控件。它提供基于月份的视图。用户可以使用鼠标或键盘选择日期,默认日期为今天的日期。 |
PyQt 中控件的优势
- 丰富的预构建控件集 − PyQt 提供了大量预构建的控件,涵盖了从基本输入字段到复杂数据可视化组件的各种功能。这个丰富的库通过为常见的 UI 元素提供现成的解决方案,节省了开发人员的时间和精力。
- 跨平台兼容性 − PyQt 控件旨在轻松地在多个平台上运行,包括 Windows、macOS、Linux 和各种移动平台。这种跨平台兼容性确保了使用 PyQt 开发的应用程序可以在各种设备上部署,而无需进行大量修改。
- 自定义选项 − PyQt 控件高度可定制,这有助于我们更改 UI 组件的外观和行为以满足特定需求。可以使用 PyQt 的 API 轻松调整颜色、大小、字体和对齐方式等属性,这有助于开发人员创建视觉上吸引人且用户友好的界面。
- 活跃的社区和支持 − PyQt 拥有一个非常活跃的开发人员社区,他们为其开发做出贡献,提供支持,并通过论坛、邮件列表和在线资源分享知识。这个社区驱动的生态系统确保开发人员在使用 PyQt 时可以获得所有专业知识和帮助。
- 性能和效率 − PyQt 构建在 Qt 框架之上,而 Qt 框架以其高性能和效率而闻名。PyQt 应用程序响应时间快,消耗的系统资源最少,使其适用于各种用例。
一些基本控件的示例
QLabel
import sys from PyQt5.QtWidgets import QApplication, QLabel app = QApplication(sys.argv) label = QLabel('Hello, World!') label.show() sys.exit(app.exec_())
输出
以上代码产生以下输出:
QLineEdit
import sys from PyQt5.QtWidgets import QApplication, QLineEdit app = QApplication(sys.argv) line_edit = QLineEdit() line_edit.show() sys.exit(app.exec_())
输出
以上代码产生以下输出:
QPushButton
import sys from PyQt5.QtWidgets import QApplication, QPushButton app = QApplication(sys.argv) button = QPushButton('Click me') button.show() sys.exit(app.exec_())
输出
以上代码产生以下输出:
我们将在接下来的几章中详细了解所有这些控件。