网站运营方案书,c 视频播放网站开发,徐州市中宇建设工程有限公司网站,酒店网站开发方案概述
QButtonGroup 类提供了一个容器来组织一组按钮部件。 QButtonGroup 提供了一个抽象容器#xff0c;可以将按钮部件放置其中。它不提供此容器的可视表示#xff08;请参见 QGroupBox#xff0c;用于容器部件#xff09;#xff0c;而是管理组中每个按钮的状态。 一个…概述
QButtonGroup 类提供了一个容器来组织一组按钮部件。 QButtonGroup 提供了一个抽象容器可以将按钮部件放置其中。它不提供此容器的可视表示请参见 QGroupBox用于容器部件而是管理组中每个按钮的状态。 一个互斥按钮组会关闭除被点击的按钮之外的所有可选切换按钮。默认情况下按钮组是互斥的。按钮组中的按钮通常是可选的 QPushButton、QCheckBox通常用于非互斥按钮组或 QRadioButton。如果创建了一个互斥按钮组应确保组中的一个按钮在初始状态下被选中否则该组将初始处于没有按钮被选中的状态。 可以使用 addButton() 将按钮添加到组中并使用 removeButton() 将其移除。如果组是互斥的则可以使用checkedButton()获得当前选中的按钮。如果按钮被点击则会发出buttonClicked()信号对于互斥组中的可选按钮这意味着按钮已被选中。组中的按钮列表可以通过buttons()返回。 此外QButtonGroup 还可以在整数和按钮之间进行映射。可以使用 setId() 为按钮分配一个整数 ID并使用id()获取它。当前选中按钮的 ID 可以使用checkedId()获得并且有一个重载的 buttonClicked() 信号它会发出按钮的 ID。ID-1被QButtonGroup保留为“无此按钮”。映射机制的目的是简化在用户界面中表示枚举值的方式。
常用函数
QButtonGroup 类的构造函数、常用函数、枚举值、信号和槽如下 构造函数 QButtonGroup(QWidget *parent nullptr)构造一个按钮组父部件为定的 parent。 常用函数 - void addButton(QAbstractButton *button, int id -1)将按钮 button 添加到按钮组中并可为其指定一个整数 ID。 void removeButton(QAbstractButton *button)将按钮 button 从按钮组中移除。QListQAbstractButton * buttons() const返回按钮组中的所有按钮。void setExclusive(bool exclusive)设置按钮组是否为互斥模式。如果 exclusive 为 true则在组中只有一个按钮可以被选中如果为 false则允许多个按钮同时被选中。void setId(QAbstractButton *button, int id)为按钮 button 设置一个整数 ID。int id(QAbstractButton *button) const返回按钮 button整数 ID。QAbstractButton *button(int id) const具有指定整数 ID 的按钮。QAbstractButton *checkedButton() const返回当前被选中的按钮。int checkedId() const返回当前被选中按钮的整数 ID。 枚举值 QButtonGroup::ButtonClicked按钮被点击的信号类型包含按钮的指针。 信号 void buttonClicked(QAbstractButton *button)当按钮被点击时发出的信号传递被点击的按钮的指针。 槽 void clicked(QAbstractButton *button)当按钮被点击时触发的槽函数。
使用示例
#include QApplication
#include QPushButton
#include QButtonGroup
#include QDebugint main(int argc, char *argv[])
{QApplication app(argc, argv);QButtonGroup buttonGroup;QPushButton *button1 new QPushButton(Button 1);QPushButton *button2 new QPushButton(Button 2);QPushButton *button3 new QPushButton(Button 3);buttonGroup.addButton(button1, 1);buttonGroup.addButton(button2, 2);buttonGroup.addButton(button3, 3);QObject::connect(buttonGroup, QButtonGroup::buttonClicked, [](QAbstractButton *button) {qDebug() Button clicked: button-text();qDebug() Button ID: buttonGroup.id(button);});button1-click(); // 模拟点击按钮1return app.exec();
}提示: 如果以上代码信号和槽无法执行是由于信号重写可用SIGNAL和SLOT进行连接。
效果 在这个示例中创建了一个按钮组 buttonGroup并向其中添加了三个 QPushButton 按钮分别设置了它们的文本和整数 ID。 当按钮被点击时会触发 buttonClicked 信号并打印出被点击的按钮的文本和整数 ID。 通过调用 button1-click() 模拟点击了按钮1从而触发响应的信号和槽函数。