Я пытаюсь получить все дочерние виджеты кнопки текущего активного окна.Кнопки были созданы через QDialogButtonBox .Я пытаюсь получить роли каждой кнопки, чтобы определить, какая кнопка является кнопкой ОК, ОТМЕНА или СОХРАНИТЬ.Однако я получаю сообщение об ошибке со следующим кодом:
QWidget *pWin = QApplication::activeWindow();
QList<QPushButton *> allPButtons = pWin->findChildren<QPushButton *>();
QListIterator<QPushButton*> i(allPButtons);
while( i.hasNext() )
{
QDialogButtonBox *pButtonRole = new QDialogButtonBox();
QDialogButtonBox::ButtonRole role = pButtonRole->buttonRole(i.next());
qDebug() << "buttonRole: " << role << endl ;
//the value of role here is -1, which means it's an invalid role...
}
Я получаю отрицательное значение при получении роли кнопки :(
Может кто-нибудь сказать мне, что не так с кодом?