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

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Новый архив 2 (https://www.otvetnemail.ru/novyj-arhiv-2-812/)
-   -   QDialog: 1) как убрать AlwaysOnTop 2) как передать keyEvent другому виджиту (https://www.otvetnemail.ru/novyj-arhiv-2-812/qdialog-1-kak-ubrat-alwaysontop-2-kak-peredat-keyevent-drugomu-vidzhitu-259869/)

Guest 28.09.2011 18:53

QDialog: 1) как убрать AlwaysOnTop 2) как передать keyEvent другому виджиту
 
Пара ламерских вопросов.У приложения имеется главное окно QMainWindow. Также имеется диалоговое окно, унаследованное от QDialog и вызваемое при необходимости клавишей.1) Это диалоговое окно сделал немодальным, но оно упрямо не хочет уходить с переднего плана. Когда обращаюсь к главному окну, диалог просто теряет фокус, но все равно закрывает собой главное окно - приходится постоянно его двигать. В асссистанте пошукал на тему "AlwaysOnTop" - ниче не нашел. Как решается?2) И главное окно, и диалог обрабатывают событие QKeyPressEvent. Причем нужно сделать так, что если в фокусе диалог, то некоторые клавиши он просто передавал главному окну, чтобы оно обработало их по-своему. Судя по описанию, в этом должна помочь функция event->ignore(), т.к. она передает событие родительскому виджиту. Так и сделал, но нифига не работает. Диалог создается в главном окне, ему передается указатель this. В главном окне:КодC++ (Qt)MyDialog *my_dialog = new MyDialog(this);Имплементация конструктора диалога:КодC++ (Qt)MyDialog::MyDialog(QWidget *parent) : QDialog(parent) { setupUi(this);}


Часовой пояс GMT, время: 19:22.


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