Keyboard Accelerator with QInputDialog via QWinWidget
-
Dear all,
I am trying to integrate QT5.3 with a legacy SDI MFC (Visual Studio 2013) app using QTWinMigrate. From an option in the main menu bar, I would like to open a QInputDialog to ask the user for a string. This works fine in principle, but keyboard accelerators (Ctrl+C, Ctrl+V etc) do not work in the QInputDialog:
@QWinWidget wid((CWnd *) AfxGetMainWnd());
wid.showCentered();
QString s = QInputDialog::getText(&wid, ...);
@Is this a bug in QWinWidget/QInputDialog? Can I somehow get around it? If I create other types of QT windows with QWinWidget as parent, the keyboard accelerators work fine...
thanks!
-
Hi and welcome to devnet,
I can't comment on that but it might be related to the fact that it's a dialog spinning it's own event loop. Can you check with a dummy dialog where your call exec() on ?
-
Hi and thank you for the hint! It's really strange, if I create a QInputDialog without the static function, but using exec(), the accelerators still dont work, whereas any other (custom / dummy) dialog can accept accelerators, if I put a QLineEdit into them...
-
Then it looks like the local event loop is eating something from your input.
Does it also happen if you use open rather than exec ?