Название: Неизменяемые границы окна Отправлено: Tmin10 от Сентябрь 01, 2012, 16:18 Захотелось мне сделать неизменяемые границы окна, которые подстраиватся автоматичеки, для этого написал код:
Код: MainWindow::MainWindow(QWidget *parent) : Название: Re: Неизменяемые границы окна Отправлено: maint от Сентябрь 01, 2012, 16:43 вообще не понятно чего хочется. Но попробую догадаться. Есть функции setMinimumSize и setMaximumSize. С их помощью можно задать неизменяемый размер. А фактический размер экрана, от которого нужно плясать можно вычислить
Код: QDesktopWidget *d = QApplication::desktop(); Название: Re: Неизменяемые границы окна Отправлено: Tmin10 от Сентябрь 01, 2012, 16:56 Что я хотел сделать:
Есть окно, нижнюю часть (mygroupBox) я скрываю в конструкторе и дальше я хочу, чтобы оставшееся окно нельзя было развернуть на весь экран, а размер окна подгонялся под текущие видимые виджеты автоматически. Делал по книжке Бланшет, Саммерфилд - QT4 Программирование GUI на С++.2ed, там в примере было показано как так сделать, для этого использовалось layout()->setSizeConstraint(QLayout::SetFixedSize);, что в моём случае приводит лишь к тому, что при запуске окна приложения вообще не видно. Название: Re: Неизменяемые границы окна Отправлено: Bepec от Сентябрь 01, 2012, 17:08 Если вы написали это в конструкторе, то у поля будут значения 0,0. Точечка :)
Соответственно это надо применять уже после конструктора ) Название: Re: Неизменяемые границы окна Отправлено: Tmin10 от Сентябрь 01, 2012, 17:36 Меня смущает, что точно такой же код в примере из книги даёт нужный результат, а у меня нет...
А почему получается 0х0, если у меня остаются видимы 2 виджета? Название: Re: Неизменяемые границы окна Отправлено: Bepec от Сентябрь 01, 2012, 17:52 Они у тебя видимыми становятся после того как отработает конструктор, ннэ?
Название: Re: Неизменяемые границы окна Отправлено: Tmin10 от Сентябрь 01, 2012, 18:09 Вот пример из книги по которому я делаю, там же изменение размера тоже выполняется в конструкторе, однако прога работает корректно. (Бинарник собран под убунтой)
Название: Re: Неизменяемые границы окна Отправлено: kambala от Сентябрь 01, 2012, 18:34 думаю весь секрет в vertical spacer'е (см. файл sortdialog.ui)
Название: Re: Неизменяемые границы окна Отправлено: Примерный ученик от Сентябрь 07, 2012, 11:03 Надо сделать минимальное и максимальное значение по одному из измерений отличными на 1 пиксел.
Тогда все работает. Почему то, если минимальные и максимальные размеры окна совпадают, окно становится недоступным и ни на какие сигналы не реагирует. ??? Название: Re: Неизменяемые границы окна Отправлено: navrocky от Сентябрь 07, 2012, 12:41 Захотелось мне сделать неизменяемые границы окна, которые подстраиватся автоматичеки, для этого написал код: Код: MainWindow::MainWindow(QWidget *parent) : Для QMainWindow такое не прокатывает. Используй QWidget. |