[英]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.