Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT4] Создание группы кнопок(QToolButton)


Автор: devmstr 30.11.2007, 01:13
Как создать группу кнопок, в которой при включении одной кнопки(checked = true). Все остальные стают checked=false.
Когда две кнопки проблемы особо нет.
Было желание сделать что то ввиде этого:
Код

QObject::connect(ui.btnStart, SIGNAL(clicked()), this, SLOT(setActiveBtnStart()));
QObject::connect(ui.btnFinish, SIGNAL(clicked()), this, SLOT(setActiveBtnFinish()));
QObject::connect(ui.btnWall, SIGNAL(clicked()), this, SLOT(setActiveBtnWall()));
QObject::connect(ui.btnClearSpace, SIGNAL(clicked()), this, SLOT(setActiveBtnClear()));

Где void setActiveBtn выщелкивает все остальные кнопки. Но решение если честно мне не очень нравится. Сильно громозкое. Есть ли более элегантное решение данной проблемы?

Автор: nickless 30.11.2007, 01:24
Цитата(devmstr @  29.11.2007,  23:13 Найти цитируемый пост)
Как создать группу кнопок, в которой при включении одной кнопки(checked = true). Все остальные стают checked=false.

Для этого достаточно поставить checkable=true и autoExclusive=true

Добавлено через 1 минуту и 25 секунд
ЗЫ, autoExclusive работает для кнопок с одним и тем же родителем

Автор: archimed7592 30.11.2007, 04:30
devmstr, да уже всё создано smile.
http://doc.trolltech.com/qbuttongroup.html

Автор: devmstr 30.11.2007, 07:14
nickless, 
Спасибо! Проблема решилась! Все оказалось очень и очень просто!


archimed7592, 
Спасибо, велосипед оказывается придумали до меня smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)