Я новичок в Qt, поэтому я задаюсь вопросом, есть ли способ установить размер QMainWindow
на (например) 70% рабочего стола пользователя.
Я попробовал коэффициент растяжения, но он не сделал Не работай. QWidget::setFixedSize
работал, но только с пиксельным номером, я думаю.
Qt: установить размер QMainWindow
Ответ 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.
Это будет работать при использовании нескольких экранов.