Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Новый архив 2 (https://www.otvetnemail.ru/novyj-arhiv-2-812/)
-   -   Поиск QAction в меню (https://www.otvetnemail.ru/novyj-arhiv-2-812/poisk-qaction-v-menyu-259711/)

Guest 28.09.2011 18:44

Поиск QAction в меню
 
Для поиска нужного пункта меню по имени использую такой код:КодC++ (Qt)QAction * findAction(QObjectList lst, QString menuname){ for( QObjectList::const_iterator it = lst.begin(); it != lst.end(); ++it ) { if( QAction *act = qobject_cast(*it) ) { QString name = act->objectName(); if( menuname.compare( name, Qt::CaseInsensitive ) == 0 ) return act; } else if( QMenu *mnu = qobject_cast(*it) ) { QAction * act = findAction(mnu->children(), menuname); if( act != 0 ) return act; } } return 0;}QAction * act = findAction(this->menuBar()->children()); И это не работает. Более того, в отладчике видно, что для всех QAction objectName() возвращает пустую строку. Как это победить? Или может можно это сделать как-то проще?


Часовой пояс GMT, время: 10:44.


© www.otvetnemail.ru - Форум вопросов и ответов.