Получить список всех QPushButton в Qt

Я хотел бы получить список всех QPushButton в моем главном окне. На самом деле, у меня есть QRadioButtonи когда я снимаю флажок, я хотел бы отключить все QPushButton моего окна.

Как я могу это сделать ?

3

Решение

Вот минимальный пример:

#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QDebug>

int main( int argn, char **argc)
{
QApplication app(argn, argc);

// Creating some content
QWidget window;
QPushButton ba(&window); ba.setObjectName("but1");
QPushButton bb(&window);bb.setObjectName("but2");
QLabel l(&window); l.setObjectName("label");
QPushButton bc(&l);bc.setObjectName("but3");// Getting all buttons
QList<QPushButton *> butts = window.findChildren<QPushButton *>();
qDebug() << butts.size();

for (const auto *but: butts) qDebug() << "   " << but->objectName();

return 0;
}
9

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]