2017-07-14 69 views
0

我想將QButton組中的QToolButtons與QRadioButtons連接起來,以便它們執行相同的操作。如何將QButtonGroup中的QToolButtons與QRadioButtons連接起來?

下面是代碼:

QToolButton *A=new QToolButton(); 
A->setCheckable(true); 
QButtonGroup *group = new QButtonGroup(); 

group->addButton(A); 
group->addButton(B); 

CLASSB *classB=new CLASSB(); 
connect(A, SIGNAL(clicked(bool)),classB->radioA , SLOT(toggle())); 
connect(B, SIGNAL(clicked(bool)), classB->radioB, SLOT(toggle())); 

A <->A1 // clicking on tool button should automatically enable radiobutton and should perform the action in radio button 
B<->B1 

我試圖connect(A,SIGNAL(clicked(bool)),A1,SLOT(setChecked(bool)));,但沒有奏效。

+1

你收到的_Application Output_一些錯誤? – m7913d

+0

使用操作並共享它們並將其放入QActionGroup –

+0

@ m7913d應用程序輸出中沒有錯誤。 – Veera

回答

0

如果你的QToolButton不可檢查,它只會通過false作爲信號參數。

QAbstractButton文檔:

當按鈕被激活時,這個信號被髮射(即,按下 然後釋放在鼠標光標位於按鈕內),當 快捷鍵被輸入,或當單擊()或animateClick()被調用。值得注意的是,如果您調用setDown(), setChecked()或toggle(),則不會發出此信號。

如果該按鈕是可選的,如果該按鈕被選中,則檢查爲真, 或者如果該按鈕未被選中則爲false。

解決方案連接切換插槽:

connect(A, SIGNAL(clicked(bool)), A1, SLOT(toggle())); 
+0

SetCheckable是真的,我試過這個解決方案,但它不起作用。 – Veera

+0

你可以隨後提供[mcve] –

+0

請檢查上面的代碼。 – Veera

相關問題