Что стало QWidget * QApplication :: mainWidget () в Qt4? - PullRequest
5 голосов
/ 20 июля 2009

Я портирую приложение с Qt3 на Qt4, и мне нужна замена Qt4 для QApplication :: mainWidget (), которая использовалась для возврата виджета верхнего уровня в Qt3. Кто-нибудь знает, как это сделать в Qt4?

Ответы [ 3 ]

3 голосов
/ 20 июля 2009

Технически, любой виджет, инициализированный NULL, является виджетом верхнего уровня, поэтому QApplication не должен предполагать, что один из них лучше другого.
Обычно я делаю это, чтобы сохранить указатель на «настоящий» основной виджет где-нибудь, даже глобальную переменную или синглтон, и ссылаться на него при необходимости.

2 голосов
/ 20 июля 2009

Я думаю, topLevelWidgets () настолько близко, насколько это возможно.

Редактировать:

Да. Qt4 добавил сложность (и мощность). Больше нет широкого приложения MainWidget. Многие QMainWindows могут быть созданы и показаны, скрыты и показаны снова. Это хорошая вещь, хотя :) Как заметил Шош, поведение QT3 можно легко смоделировать с помощью глобальной переменной (yuck!) Или подкласса QApplication.

1 голос
/ 20 июля 2009

Я думаю, что то, что вы ищете, было заменено классом QMainWindow , который позволяет вам установить set и get центральный виджет .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...