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
является указателем главного окна.
Это будет работать при использовании нескольких экранов.