Название: Как определить что виджет плагина закрылся. Отправлено: heiheshang от Январь 14, 2010, 15:39 Написал свой плагин для редактирования текста, теперь мне при закрытии виджета надо текст записать, а вот определить что виджет закрывается не могу. При нажатии на кнопку закрытия генерится событии hideEvent, но это событие генерится каждый раз когда виджет закрывается другим. Как определить что виджет закрывается ?
Название: Re: Как определить что виджет плагина закрылся. Отправлено: ilot от Январь 14, 2010, 16:22 А что за виджет (от какого класса наследован)? и чем он закрывается?
Название: Re: Как определить что виджет плагина закрылся. Отправлено: heiheshang от Январь 14, 2010, 16:37 А что за виджет (от какого класса наследован)? и чем он закрывается? От QMainWindow наследован.Название: Re: Как определить что виджет плагина закрылся. Отправлено: BlackTass от Январь 14, 2010, 16:44 closeEvent, не?
Название: Re: Как определить что виджет плагина закрылся. Отправлено: heiheshang от Январь 14, 2010, 16:46 closeEvent, не? Не, не катит.Название: Re: Как определить что виджет плагина закрылся. Отправлено: ilot от Январь 14, 2010, 16:58 Тогда не очень понятно, что собственно вы хотите получить, потому как судя по вашему вопросу и описанию к QCloseEvent, метод void QWidget::closeEvent ( QCloseEvent * event ) как раз то, что надо:
Цитировать Close events are sent to widgets that the user wants to close, usually by choosing "Close" from the window menu, or by clicking the X title bar button. They are also sent when you call QWidget::close() to close a widget programmatically. может просто вы его как то не правильно использовали?P.S. или вопрос яснее формулируйте... Название: Re: Как определить что виджет плагина закрылся. Отправлено: heiheshang от Январь 14, 2010, 18:10 Тогда не очень понятно, что собственно вы хотите получить, потому как судя по вашему вопросу и описанию к QCloseEvent, метод void QWidget::closeEvent ( QCloseEvent * event ) как раз то, что надо: Вы просто невнимательно читали. Я же говорю что генерится событие не closeEvent а hideEvent. Причем это событие генерируется когда текущий виджет становится неактивным. Всем виджетам в стопке рассылается событие hideEvent. Нажатие на крестик в верхнем правом углу окна виджета не приводит к закрытию виджета плагина, а всего лишь его скрывает. Я так понял, если кто лучше разобрался в работе плагинов qtcreator поправте меня.Цитировать Close events are sent to widgets that the user wants to close, usually by choosing "Close" from the window menu, or by clicking the X title bar button. They are also sent when you call QWidget::close() to close a widget programmatically. может просто вы его как то не правильно использовали?P.S. или вопрос яснее формулируйте... Название: Re: Как определить что виджет плагина закрылся. Отправлено: heiheshang от Январь 17, 2010, 06:02 Отвечу сам себе.
У класса EditorManager есть событие editorsClosed(QList<Core::IEditor*>) Код: Core::IEditor* editor = manager->openEditorWithContents("Field Editor", &cfgName,""); Тогда не очень понятно, что собственно вы хотите получить, потому как судя по вашему вопросу и описанию к QCloseEvent, метод void QWidget::closeEvent ( QCloseEvent * event ) как раз то, что надо: Вы просто невнимательно читали. Я же говорю что генерится событие не closeEvent а hideEvent. Причем это событие генерируется когда текущий виджет становится неактивным. Всем виджетам в стопке рассылается событие hideEvent. Нажатие на крестик в верхнем правом углу окна виджета не приводит к закрытию виджета плагина, а всего лишь его скрывает. Я так понял, если кто лучше разобрался в работе плагинов qtcreator поправте меня.Цитировать Close events are sent to widgets that the user wants to close, usually by choosing "Close" from the window menu, or by clicking the X title bar button. They are also sent when you call QWidget::close() to close a widget programmatically. может просто вы его как то не правильно использовали?P.S. или вопрос яснее формулируйте... Название: Re: Как определить что виджет плагина закрылся. Отправлено: SABROG от Январь 20, 2010, 22:42 А как ваш виджет-плагин будет работать в QtDesigner'e и интеграторах для Eclipse и MSVC? Там ведь нет этого события.
Название: Re: Как определить что виджет плагина закрылся. Отправлено: crackedmind от Январь 21, 2010, 09:58 Дак это ж плагин редактирования для креатора. Причем тут дизайнер?
|