Russian Qt Forum

Qt => Общие вопросы => Тема начата: Evgeniya от Декабрь 16, 2009, 11:44



Название: внутри главного окна вызвать дочернее
Отправлено: Evgeniya от Декабрь 16, 2009, 11:44
Доброго времени суток!!!!
Подскажите пожалуйста,как мне из главного окна вызвать дочернее окно,так чтобы оно было не поверх главного окна,а внутри него...т.е. как в ворде создается новый документ

если я вызываю
Код
C++ (Qt)
Form *f=new Form(this,1);
f->show();
 
то форма f вызывается поверх моего главного окна


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Alchazar от Декабрь 16, 2009, 12:17
Если не ошибаюсь, то тебе надо почитать о MDI.
В QT есть пример MDI Example.


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Evgeniya от Декабрь 16, 2009, 16:13
Спасибо,оччень помогло...
только есть такая проблемка...почему-то текст подставки(statusBar) внизу дочернего окна немного урезан главным окном...а подсказки главного окна нормально видны. Почему так?


Название: Re: внутри главного окна вызвать дочернее
Отправлено: SABROG от Декабрь 16, 2009, 20:16
Приложи скриншот, чтобы понятно было о чем идет речь.


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Evgeniya от Декабрь 17, 2009, 08:59
Вот скриншот..


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Evgeniya от Декабрь 17, 2009, 09:11
А если убрать панель управления,то все нормально будет видно...такое ощущение,что окно главного виджета загораживает эту подсказку...


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Dendy от Декабрь 17, 2009, 09:46
Давайте ещё скриншот, с убраной панелью. Только не в doc, а картинкой (-:


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Evgeniya от Декабрь 17, 2009, 10:14
Dendy,вы можете скопировать этот рисунок в Paint и посмотреть...;))) Просто рисунком он много весит и не загружается на сайт)))

У меня такое ощущение, что просто строка состояния главного окна перекрывает строку состояния дочернего,поэтому и урезается немного...
И как можно этого избежать?


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Dendy от Декабрь 17, 2009, 10:27
Dendy,вы можете скопировать этот рисунок в Paint и посмотреть...;))) Просто рисунком он много весит и не загружается на сайт)))

Вы забыли один маааленький пункт - для начала нужно установить офисный пакет. Благо я в Линуксе, здесь OpenOffice по умолчанию, а остальные могут и проигнорировать. Чтобы меньше весить - сохраняйте картинку в PNG или на крайний случай в JPEG.

Хочется увидеть прижимается ли строка за счёт лейоута главного окна или нет.


Название: Re: внутри главного окна вызвать дочернее
Отправлено: lit-uriy от Декабрь 17, 2009, 10:28
>>Просто рисунком он много весит и не загружается на сайт)))
Используйте png.


Название: Re: внутри главного окна вызвать дочернее
Отправлено: Dendy от Декабрь 17, 2009, 10:42
Всегда можно элементу управления задать setFixedHeight(), чтобы он не прижимался другими в лейоуте. Видно, что у вас попросту нет сводобного места, а когда панель пропадает - его хватает ровно чтобы разжать текст, чтобы он не перекрывался. Не совсем понятно, это статусбар, или статусбар ниже и пустой? Если статусбаром не пользуетесь - отключите его вообще: QMainWindow::setStatusBar(0). Можно ещё сделать эту надпись частью статусбара: QMainWindow::statusBar()->addPermanentWidget().