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

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

3 ответов


благодаря 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);

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

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

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


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

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

здесь this является указателем главного окна. Это будет работать при использовании нескольких экранов.