在 QT 中,可以使用 QButtonGroup 来管理按钮组。可以通过设置按钮的样式表来实现按下按钮和其他按钮不同的样式。\n\n首先,需要创建一个 QButtonGroup 对象,并将按钮添加到该组中:\n\ncpp\nQButtonGroup* buttonGroup = new QButtonGroup(this);\nbuttonGroup->addButton(button1);\nbuttonGroup->addButton(button2);\nbuttonGroup->addButton(button3);\n// ...\n\n\n然后,可以监听按钮的 clicked 信号,并在信号槽中设置按钮的样式表:\n\ncpp\nconnect(buttonGroup, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(onButtonClicked(QAbstractButton*)));\n\n\n接下来,实现 onButtonClicked 槽函数,在该函数中设置按钮的样式表:\n\ncpp\nvoid YourClass::onButtonClicked(QAbstractButton* button)\n{\n // 恢复其他按钮的样式\n for (auto btn : buttonGroup->buttons())\n {\n if (btn != button)\n {\n btn->setStyleSheet("QPushButton { background-color: red; }\");\n // 设置其他按钮的样式\n }\n }\n\n // 设置按下按钮的样式\n button->setStyleSheet("QPushButton { background-color: blue; }\");\n}\n\n\n在上述示例中,将其他按钮的背景颜色设置为红色,按下的按钮的背景颜色设置为蓝色。可以根据需求自定义样式表。\n\n注意:上述示例为 C++ 代码,如果需要使用 Python 编写,可以使用 PyQt 框架,具体语法类似,只是语法上有一些差异。

QT 按钮组样式设置:按下按钮与其他按钮样式不同

原文地址: https://www.cveoy.top/t/topic/p6XP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录