QGroupBox Class
QGroupBox widget 提供一个带有标题的组框。更多
标题 | #include <QGroupBox> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QWidget |
属性
公共函数
QGroupBox(QWidget *parent = nullptr) | |
QGroupBox(const QString &title, QWidget *parent = nullptr) | |
virtual | ~QGroupBox() |
Qt::Alignment | alignment() const |
bool | isCheckable() const |
bool | isChecked() const |
bool | isFlat() const |
void | setAlignment(int alignment) |
void | setCheckable(bool checkable) |
void | setFlat(bool flat) |
void | setTitle(const QString &title) |
QString | title() const |
重新实现的公共函数
virtual QSize | minimumSizeHint() const override |
公共插槽
void | setChecked(bool checked) |
信号
受保护函数
virtual void | initStyleOption(QStyleOptionGroupBox *option) const |
重新实现的受保护函数
virtual void | changeEvent(QEvent *ev) override |
virtual void | childEvent(QChildEvent *c) override |
virtual bool | event(QEvent *e) override |
virtual void | focusInEvent(QFocusEvent *fe) override |
virtual void | mouseMoveEvent(QMouseEvent *event) override |
virtual void | mousePressEvent(QMouseEvent *event) override |
virtual void | mouseReleaseEvent(QMouseEvent *event) override |
virtual void | paintEvent(QPaintEvent *event) override |
virtual void | resizeEvent(QResizeEvent *e) override |
详细说明
组框提供了一个框架、一个顶部标题、一个键盘快捷键,并在其内部显示各种其他部件。键盘快捷键可将键盘焦点移至组框的一个子窗口部件。
QGroupBox 还允许您设置title (通常在构造函数中设置)和标题的对齐方式。组框可以是checkable 。可选中组框中的子窗口小部件是启用还是禁用,取决于组框是否是checked 。
通过启用flat 属性,可以最大限度地减少组框占用的空间。在大多数styles 中,启用该属性会导致删除框架的左、右和底边。
QGroupBox 不会自动布局子部件(通常是QCheckBoxes 或QRadioButtons,但也可以是任何部件)。下面的示例展示了如何为 QGroupBox 设置布局:
QGroupBox *groupBox = new QGroupBox(tr("Group Box with Layout")); QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1")); QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2")); QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3")); radio1->setChecked(true); QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(radio1); vbox->addWidget(radio2); vbox->addWidget(radio3); vbox->addStretch(1); groupBox->setLayout(vbox);
另请参见 QButtonGroup 。
属性文档
alignment : Qt::Alignment
该属性用于设置组框标题的对齐方式。
大多数样式都将标题置于框架顶部。标题的水平对齐方式可以使用以下列表中的单个值来指定:
- Qt::AlignLeft 标题文本与组框左侧对齐。
- Qt::AlignRight 标题文本与组框右侧对齐。
- Qt::AlignHCenter 标题文本与组框的水平中心对齐。
默认对齐方式为Qt::AlignLeft 。
访问功能:
Qt::Alignment | alignment() const |
void | setAlignment(int alignment) |
另请参阅 Qt::Alignment 。
checkable : bool
该属性表示组框的标题中是否有复选框。
如果该属性为true
,则组框使用复选框代替普通标签显示标题。如果复选框被选中,则组框的子代将被启用;否则,子代将被禁用且无法访问。
默认情况下,组框不可选中。
如果为一个组框启用了该属性,它也会被初始选中,以确保其内容被启用。
访问功能:
bool | isCheckable() const |
void | setCheckable(bool checkable) |
另请参阅 checked 。
checked : bool
该属性表示组框是否被选中
如果组框是可选中的,则会显示一个复选框。如果选中复选框,则启用组框的子代;否则,禁用子代,用户无法访问。
默认情况下,可选中的组框也是选中的。
访问功能:
bool | isChecked() const |
void | setChecked(bool checked) |
通知信号:
void | toggled(bool on) |
另请参见 checkable 。
flat : bool
该属性表示组方框是平涂还是有边框
组方框通常由周围的框架和顶部的标题组成。如果启用此属性,在大多数样式中只绘制框架的顶部部分;否则,将绘制整个框架。
默认情况下,该属性是禁用的,也就是说,除非明确指定,否则组框不是扁平的。
注意:在某些样式中,扁平和非扁平组框的表现形式相似,可能不像在其他样式中那样容易区分。
访问功能:
bool | isFlat() const |
void | setFlat(bool flat) |
另请参阅 title 。
title : QString
该属性用于保存组框标题文本
如果组框标题文本包含括号('&')和字母,就会有一个键盘快捷键。
g->setTitle("&User information");
在上面的示例中,Alt+U 将键盘焦点移至组框。有关详情,请参阅QShortcut 文档(要显示实际的"&&",请使用"&&")。
没有默认标题文本。
访问功能:
QString | title() const |
void | setTitle(const QString &title) |
另请参阅 对齐。
成员函数文档
[explicit]
QGroupBox::QGroupBox(QWidget *parent = nullptr)
使用给定的parent 构建一个没有标题的组框 widget。
[explicit]
QGroupBox::QGroupBox(const QString &title, QWidget *parent = nullptr)
用给定的title 和parent 构建一个分组框。
[virtual noexcept]
QGroupBox::~QGroupBox()
销毁分组框。
[override virtual protected]
void QGroupBox::changeEvent(QEvent *ev)
重实现:QWidget::changeEvent(QEvent *event).
[override virtual protected]
void QGroupBox::childEvent(QChildEvent *c)
重实现:QObject::childEvent(QChildEvent *event).
[signal]
void QGroupBox::clicked(bool checked = false)
当复选框被激活(即鼠标光标位于按钮内时按下并释放)或键入快捷键时,就会发出该信号。值得注意的是,如果调用setChecked() 则不会发出该信号。
如果复选框已选中,checked 为 true;如果复选框未选中,则为 false。
另请参阅 checkable,toggled() 和checked 。
[override virtual protected]
bool QGroupBox::event(QEvent *e)
重实现:QWidget::event(QEvent *event).
[override virtual protected]
void QGroupBox::focusInEvent(QFocusEvent *fe)
重实现:QWidget::focusInEvent(QFocusEvent *event).
[virtual protected]
void QGroupBox::initStyleOption(QStyleOptionGroupBox *option) const
使用此QGroupBox 中的值初始化option 。当子类需要QStyleOptionGroupBox ,但又不想自己填写所有信息时,该方法非常有用。
另请参阅 QStyleOption::initFrom()。
[override virtual]
QSize QGroupBox::minimumSizeHint() const
重构属性访问函数:QWidget::minimumSizeHint 。
[override virtual protected]
void QGroupBox::mouseMoveEvent(QMouseEvent *event)
重实现:QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected]
void QGroupBox::mousePressEvent(QMouseEvent *event)
重实现:QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected]
void QGroupBox::mouseReleaseEvent(QMouseEvent *event)
重实现:QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected]
void QGroupBox::paintEvent(QPaintEvent *event)
重实现:QWidget::paintEvent(QPaintEvent *event).
[override virtual protected]
void QGroupBox::resizeEvent(QResizeEvent *e)
重实现:QWidget::resizeEvent(QResizeEvent *event).
[signal]
void QGroupBox::toggled(bool on)
on 复选框被选中时为 true,否则为 false。
注: 属性checked 的通知信号。
另请参阅 checkable 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.