获取Qt中所有QPushButton的列表
Get the list of all QPushButton in Qt
我想在我的主窗口中获取所有 QPushButton
的列表。实际上,我有一个 QRadioButton
,当我取消选中它时,我想禁用我的 window.
的所有 QPushButton
我该怎么做?
这是一个最小的例子:
#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;
}
我想在我的主窗口中获取所有 QPushButton
的列表。实际上,我有一个 QRadioButton
,当我取消选中它时,我想禁用我的 window.
QPushButton
我该怎么做?
这是一个最小的例子:
#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;
}