2010-07-01 10 views
6

İçinde bir kaç işlem bulunan bir QToolBar yapmak istiyorum, bunların her biri "denetlenebilir" (yani, oluşturduktan sonra her eylemde setCheckable (true) olarak adlandırıyorum), sonra düğmeyi aşağı konumda bırakır tıklatarak).QtoolBar'ın "kontrol edilebilir" QToolBar'lar oluşturmanın en iyi yolu, yalnızca bir düğmenin yalnızca kontrol edilebildiği yerlerdir?

Diğer düğmelerin "işaretini kaldırmayı" düşünebilmemin tek yolu, her bir düğmenin tetiklenen sinyaline bağlanmak ve belirli bir düğme işaretlendiğinde diğer düğmelerin işaretini kaldırmaktır.

Daha iyi bir yolu var mı?

cevap

11

QActionGroup oluşturun ve eylemlerinizin üstesinden gelsin. Bu QActionGroup, çocuklarının durumlarını koruyacaktır.

QActionGroup *anActionGroup = new QActionGroup(yourParentWidget); 
QAction* action1 = new QAction("Action 1", anActionGroup); 
QAction* action2 = new QAction("Action 2", anActionGroup); 
QAction* actionN = new QAction("Action N", anActionGroup); 
action1->setCheckable(true); 
action2->setCheckable(true); 
actionN->setCheckable(true); 

// Add these action to the tool bar 
+4

Çalışması gereken, n özel düğmelerin genel durumu için, QButtonGroup da var. –

İlgili konular