2014-09-13 3 views
1

Я недавно начал разработку в qt, и пока все идет хорошо. Теперь мой вопрос: могу ли я автоматически изменить размер приложения qt в соответствии с разрешением экрана? Скажем, у меня есть основное окно, предназначенное для 1366 x 768. И оно работает для одной системы. При переносе его в другую систему, поддерживающую 1280 x 800 или 800 x 600, есть ли простой способ сделать это? без изменения дизайна пользовательского интерфейса в создателе?Автоматическое изменение размера приложения qt. (главное окно)

Я ценю любую помощь в этом отношении.

Заранее спасибо.

ответ

1

Попробуйте сделать это (например, поместить его в конструкторе MainWindow в)

this->showMaximized(); 

В любом случае вы можете просто получить разрешение текущего экрана с этим кодом:

И QWidget есть resize() метод. QMainWindow наследует QWidget, поэтому вы можете использовать resize() в своем mainWindow.

+0

Использует ли изменение размера в конструкторе QMainWindow все компоненты в этом окне? – dhruvvyas90

+0

@ dastaan ​​Ваш вопрос касался изменения размера окна в соответствии с размером экрана, и я уже написал ответ. Если вы хотите, чтобы все виджеты, которые содержит mainWindow, будут автоматически изменены в соответствии с новым размером mainWindow, вы должны использовать QLayout. Этот класс был создан для этой цели. Вы можете создавать макеты в Qt Designer или сами писать. – Chernobyl

1

Qt (и многие другие инструменты UI) решить проблему с автоматическим изменением размера с менеджером макета, это зависит от того, как вы создаете свой пользовательский интерфейс, чтобы выбрать макет или смешать их. См. http://qt-project.org/doc/qt-4.8/layout.html

+0

Спасибо. Стоит пойти на макет. – dhruvvyas90

Смежные вопросы