Подтвердить что ты не робот

Qt: установить размер QMainWindow

Я новичок в Qt, поэтому я задаюсь вопросом, есть ли способ установить размер QMainWindow на (например) 70% рабочего стола пользователя.
Я попробовал коэффициент растяжения, но он не сделал Не работай. QWidget::setFixedSize работал, но только с пиксельным номером, я думаю.

4b9b3361

Ответ 1

Благодаря Amir eas. Проблема решена. Вот код для него:

#include <QDesktopWidget>
#include <QMainWindow>
...
QDesktopWidget dw;
MainWindow w;
...
int x=dw.width()*0.7;
int y=dw.height()*0.7;
w.setFixedSize(x,y);

Ответ 2

Где-то в вашем конструкторе QMainWindow сделайте следующее:

resize(QDesktopWidget().availableGeometry(this).size() * 0.7);

Это изменит размер окна на 70% доступного пространства экрана.

Ответ 3

Вы можете использовать метод availableGeometry(QWidget*) в QDesktopWidget, это даст вам геометрию экрана, на которой этот виджет включен.
Например:

QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));

Где this - указатель MainWindow. Это будет работать при использовании нескольких экранов.