Widgets 是在 Qt 中创建用户界面的首要元素。 小部件 可以显示数据和状态信息,接收用户输入,及为应被分组在一起的其它 Widget 提供容器。未嵌入到父级 Widget 中的 Widget,称为 window .
The QWidget 类提供渲染到屏幕及处理用户输入事件的基本功能。Qt 提供的所有 UI 元素是子类化的 QWidget ,或被用于连接 QWidget 子类。创建自定义 Widget 的完成,是通过子类化 QWidget 或适当子类并重实现虚拟事件处理程序。
布局 是在容器中自动排列子级 Widget 的优雅 灵活方式。每个 Widget 向布局报告其尺寸要求透过 sizeHint and sizePolicy 特性,且布局会相应地分配可用空间。
|
|
Qt Designer 是交互创建和在布局中排列 Widget 的强大工具。
样式 代表 Widget 绘制,并封装 GUI 的外观和感觉。Qt 的内置 Widget 使用 QStyle 类来履行其几乎所有绘制,确保看起来准确像等效本机 Widget。
|
|
|
Qt 样式表 是允许定制 Widget 外观的强大机制,除了可能已有的,通过子类化 QStyle .
下列章节列表 Widget 类。见 Qt Widget 图库 举的一些范例。
这些基本 Widget (控件),如按钮 组合框及滚动条,被设计为可直接使用。
|
|
|
|
|
|
| QCheckBox | 带文本标签的复选框 |
| QComboBox | 组合按钮和弹出列表 |
| QCommandLinkButton | Vista 风格的命令链接按钮 |
| QDateEdit | 用于编辑日期的 Widget (基于 QDateTimeEdit 小部件) |
| QDateTimeEdit | 用于编辑日期和时间的 Widget |
| QDial | 四舍五入范围控制 (像速度计或电位计) |
| QDoubleSpinBox | 采用双精度的自旋框 Widget |
| QFocusFrame | 聚焦框可以在 Widget 的正常可描绘区域之外 |
| QFontComboBox | 让用户选择字体系列的组合框 |
| QLCDNumber | 显示带有类似 LCD 数字的数字 |
| QLabel | 显示文本或图像 |
| QLineEdit | 一行文本编辑器 |
| QMenu | 用于菜单栏、上下文菜单及其它弹出菜单的菜单 Widget |
| QProgressBar | 水平 (或垂直) 进度条 |
| QPushButton | 命令按钮 |
| QRadioButton | 带文本标签的单选按钮 |
| QScrollArea | 把视图卷动到另一 Widget |
| QScrollBar | 垂直 (或水平) 滚动条 |
| QSizeGrip | 用于重置顶层窗口大小的重置大小手柄 |
| QSlider | 垂直 (或水平) 滑块 |
| QSpinBox | 自旋框 Widget |
| QTabBar | 选项卡栏 (如:用于选项卡式对话框) |
| QTabWidget | 选项卡式 Widget 的堆栈 |
| QTimeEdit | 用于编辑时间的 Widget (基于 QDateTimeEdit 小部件) |
| QToolBox | 选项卡化 Widget 项的列 |
| QToolButton | 命令 (或选项) 的快速访问按钮,通常用于 QToolBar |
| QWidget | 所有用户界面对象的基类 |
高级 GUI Widget (如:选项卡小部件和进度条),提供更复杂的用户界面控件。
|
|
|
| Phonon::VideoWidget | Widget that is used to display video |
| QCalendarWidget | 允许用户选择日期,基于月份的日历 Widget |
| QColumnView | 列视图的模型/视图实现 |
| QDataWidgetMapper | 在数据模型区间与 Widget 之间的映射 |
| QDesktopWidget | 对多头系统屏幕信息的访问 |
| QListView | 在模型中的列表或图标视图 |
| QMacCocoaViewContainer | Widget for Mac OS X that can be used to wrap arbitrary Cocoa views (i.e., NSView subclasses) and insert them into Qt hierarchies |
| QMacNativeWidget | Widget for Mac OS X that provides a way to put Qt widgets into Carbon or Cocoa hierarchies depending on how Qt was configured |
| QTableView | 表格视图的默认模型/视图实现 |
| QTreeView | 树视图的默认模型/视图实现 |
| QUndoView | 显示 QUndoStack 的内容 |
| QWSEmbedWidget | Enables embedded top-level widgets in Qt for Embedded Linux |
| QWebView | 用于查看和编辑 Web 文档的 Widget |
| QX11EmbedContainer | XEmbed container widget |
| QX11EmbedWidget | XEmbed client widget |
|
|
像分割器、选项卡栏、按钮组等类用于组织和分组 GUI 图元成更复杂应用程序和对话框。
| QButtonGroup | 用于组织按钮 Widget 组的容器 |
| QGroupBox | 带标题的分组框框架 |
| QSplitter | 实现分割器 Widget |
| QSplitterHandle | Handle functionality of the splitter |
| QStackedWidget | 每次仅一 Widget 可见的 Widget 堆栈 |
| QTabWidget | 选项卡式 Widget 的堆栈 |
抽象 Widget 类是基类。它们不能作为独立类使用,但提供功能当子类化它们时。
| QAbstractButton | 按钮 Widget 抽象基类,为按钮提供公共功能 |
| QAbstractScrollArea | 带按需滚动条的卷动区域 |
| QAbstractSlider | 在范围内的整数值 |
| QAbstractSpinBox | Spinbox 和显示值的行编辑 |
| QDialog | 对话框窗口的基类 |
| QFrame | 可以拥有框架的 Widget 基类 |