[英]How to use QGroupBox and QCheckBoxes to one check another?
我试图了解如何使用信号来检查一个QCheckBox
时取消选中同一QGroupBox
中存在的所有其他复选框
class GroupBox : public QGroupBox
{
public:
GroupBox(QWidget *parent = nullptr) : QGroupBox(parent)
{
}
public slots:
void uncheck();
};
class CheckBox : public QCheckBox
{
public:
CheckBox(QWidget *parent = nullptr) : QCheckBox(parent)
{
connect(this, SIGNAL(checked()), this, SLOT(checked()));
}
public slots:
void checked()
{
qDebug() << "checked";
}
};
当我单击其中一个复选框时,它没有 go 到 function checked()
。
您应该使用clicked或stateChanged信号而不是 checked。
当量
connect(this, SIGNAL(stateChanged(int)), this, SLOT(checked(int)));
顺便提一句; 如果使用现代 Qt 版本,您应该放弃SIGNAL
和SLOTS
宏,而是使用在编译时检查的新connect()
语法。
参考:新信号槽语法
EP
connect(this, &QCheckBox::clicked, this, &CheckBox::checked);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.