Я симулирую нажатия клавиш в приложении через функцию Qt KeyPress. Все KeyPress работают нормально. Однако, когда я передаю QT::Key_Enter
, который должен нажать кнопку OK в текущем активном окне, или QT::Key_Cancel
для кнопки отмены, он ничего не делает.
Я думаю, может быть, потому что эти кнопки не имеют фокуса, а родительское окно имеет его. Как вы получаете детей из окна? или, вернее, найдите на нем кнопку «ОК» или «Отмена», чтобы вы могли установить ее в качестве активного окна и затем успешно передать ключевые нажатия?
У меня есть:
QWidget *pWin = QApplication::activeWindow;
QObjectList *pList = pWin->children();
//how do you iterate through the list and find the OK or Cancel button?