我很困惑這整個事情是如何工作的。(Qt)從QButtonGroup的PushButtons創建信號?
我有一些按鈕,我把成團這樣的:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
AddSlotsToGroup();
}
void MainWindow::AddSlotsToGroup()
{
QButtonGroup* group = new QButtonGroup(this);
group->addButton(ui->slot_0);
group->addButton(ui->slot_1);
//...
}
我想創建一個插槽得到被點擊該組中的按鈕的ID。 (很抱歉,如果我解釋說不好:()
所以這是我做過什麼(谷歌搜索後,純猜測)
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
AddSlotsToGroup();
connect(QPushButton* group, SIGNAL(buttonClicked(int)), this, SLOT(onGroupButtonClicked(int)));
}
void MainWindow::onGroupButtonClicked(int id)
{
qDebug() << id;
}
並沒有驚喜,我得到了一個錯誤說基是未聲明的標識符和QPushButton是一個非法使用等
我討厭這樣說,我只用從設計窗口信號/插槽,所以我真的只需要這一個東西,然後我設定的未來。:)
感謝您的時間。 :)
這工作完全:)我不能感謝你纔好!一個簡單的問題,但。在我的插槽, 「無效的MainWindow :: onGroupButtonClicked(INT ID)」 我這樣做 「qDebug()<< ID;」 和我的輸出總是一個負數......這是爲什麼? – mrg95
關於addButton的文檔...「自動分配的ID保證是否定的,從-2開始,如果您也分配了自己的ID,請使用正值來避免衝突。」 ...這些ID總是消極的。 – bkausbk
謝謝你:)我會考慮添加id,因爲我正在添加按鈕 – mrg95