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_())

输出

以上代码产生以下输出:

QLabel

QLineEdit

import sys
from PyQt5.QtWidgets import QApplication, QLineEdit
app = QApplication(sys.argv)
line_edit = QLineEdit()
line_edit.show()
sys.exit(app.exec_())

输出

以上代码产生以下输出:

QLineEdit

QPushButton

import sys
from PyQt5.QtWidgets import QApplication, QPushButton
app = QApplication(sys.argv)
button = QPushButton('Click me')
button.show()
sys.exit(app.exec_())

输出

以上代码产生以下输出:

QPushButton

我们将在接下来的几章中详细了解所有这些控件。

广告