Название: Задолбали лэйауты... Отправлено: Гурман от Апрель 15, 2019, 19:45 Давно ими не пользовался, работал всё время со сценами, этого хватало. Сейчас делаю приложение для Android, нарисовал в дизайнере такую структуру:
Код: QMainWindow Установил политики Expanding, минимальные размеры всего под экран 1280х720, максимальные не ограничены. При запуске делаю у главного окна resize( QApplication::desktop()->availableGeometry().size() ) чтобы всё окно подстраивалось под доступные размеры экрана. Но всё остаётся как было нарисовано изначально, размеры не меняются. Пытаюсь делать setGeometry() для QVBoxLayout - ничего не меняется. Что я забыл сделать? Название: Re: Задолбали лэйауты... Отправлено: kuzulis от Апрель 15, 2019, 22:19 Юзай QML :)
Цитировать Что я забыл сделать? Попробуй все это сделать (все ресайзы и пр.) по таймеру через некоторое время.. Ну, или через invokeMethod (пальцем в небо). Название: Re: Задолбали лэйауты... Отправлено: Гурман от Апрель 16, 2019, 12:24 Юзай QML :) Спасибо, кэп, но вопрос надо было всё-таки прочитать чтобы не давать советы не имеющие к нему отношения. QML никак не поможет, наоборот, усложнит.Цитировать Что я забыл сделать? Попробуй все это сделать (все ресайзы и пр.) по таймеру через некоторое время.. Ну, или через invokeMethod (пальцем в небо). Название: Re: Задолбали лэйауты... Отправлено: ecspertiza от Апрель 16, 2019, 12:36 QMainWidget::showFullScreen вместо ресайза
QMainWidget::setCentralWidget(QWidget) Название: Re: Задолбали лэйауты... Отправлено: Гурман от Апрель 16, 2019, 13:31 QMainWidget::showFullScreen вместо ресайза Нифига. Окно увеличивается, а лейаут нет. Центральный виджет там есть - это QWidget под QMainWindow. Что-то ещё должно быть для связи QMainWindow и лейаута - но не помню что. Последний раз с лейаутами работал 6 лет назад.QMainWidget::setCentralWidget(QWidget) Название: Re: Задолбали лэйауты... Отправлено: Old от Апрель 16, 2019, 14:45 Нифига. Окно увеличивается, а лейаут нет. Центральный виджет там есть - это QWidget под QMainWindow. Что-то ещё должно быть для связи QMainWindow и лейаута - но не помню что. Последний раз с лейаутами работал 6 лет назад. Так может нужен еще слой?QMainWindow QVBoxLayout <<<<<<<<<<< QWidget QVBoxLayout // на всё окно Название: Re: Задолбали лэйауты... Отправлено: Гурман от Апрель 16, 2019, 15:45 Так может нужен еще слой? Код: QMainWindow Как перед centralWidget слой вставить? Его в дизайнере даже удалить нельзя. Вставка чего-либо в QMainWindow вставляет в этот виджет. И QVBoxLayout - НЕ виджет. Название: Re: Задолбали лэйауты... Отправлено: Old от Апрель 16, 2019, 18:16 Как перед centralWidget слой вставить? Его в дизайнере даже удалить нельзя. Вставка чего-либо в QMainWindow вставляет в этот виджет. И QVBoxLayout - НЕ виджет. А, ну тогда centralWidget уже в layout'е QMainWindow.Название: Re: Задолбали лэйауты... Отправлено: Гурман от Апрель 16, 2019, 23:29 centralWidget уже в layout'е QMainWindow. Это как?... ???Название: Re: Задолбали лэйауты... Отправлено: Old от Апрель 17, 2019, 06:12 Это как?... ??? На QMainWindow кроме centralWidget расположены и другие виджеты: menubar, toolbar, statusbar. Они изначально помещены в layout. А пользователь размещает свои виджеты на центральном и сам заботится о необходимых layout. Короче, размещением centralWidget занимается layout создаваемый внутри QMainWindow. Название: Re: Задолбали лэйауты... Отправлено: lit-uriy от Апрель 17, 2019, 07:46 Код
В Дизайнере компоновщики на виджет накладывать не надо, надо выделить виджет и задать ему компоновку, тогда получится такая структура как ты описал. Если же ты в Дизайнере на виджет положишь компоновщик, то итоговая структура получится такая: Код
Название: Re: Задолбали лэйауты... Отправлено: Гурман от Апрель 17, 2019, 12:07 Уууу... шайтан... И чего бы этот лэйаут, который есть у QMainWindow, не показывать в структуре? >:( Сразу вопросы отпали бы.
Название: Re: Задолбали лэйауты... Отправлено: lit-uriy от Апрель 18, 2019, 06:21 Гурман, компоновщик у QWidget-а, который в качестве центрального установлен для QMainWindow, а не у самого QMainWindow.
Согласен, что не удобно и неочевидно. Покрутить настройки этого компоновщика можно в списке свойств его виджета, в самом конце списка, (что тоже не очевидно :)) ) |