Ich bin neu in Qt, also frage ich mich, ob es eine Möglichkeit gibt, die Größe von QMainWindow
auf (zum Beispiel) 70% des Desktops des Benutzers einzustellen.
Ich versuchte den Stretch-Faktor, aber es hat nicht funktioniert. QWidget::setFixedSize
funktionierte aber nur mit einer Pixelzahl, denke ich.Qt: Größe von QMainWindow einstellen
Antwort
Dank Amir eas. Das Problem ist behoben. Hier ist der Code für sie:
#include <QDesktopWidget>
#include <QMainWindow>
...
QDesktopWidget dw;
MainWindow w;
...
int x=dw.width()*0.7;
int y=dw.height()*0.7;
w.setFixedSize(x,y);
Dies wird nicht so gut für Multi-Monitor-Setup funktionieren: \ Irgendwelche Ideen dafür? – chwi
@Wilhelmsen: Sie können 'QDesktiopWidget :: primaryScreen()' wie in der Antwort auf diese Frage verwenden: http://stackoverflow.com/questions/17893328/qt-getting-the-screen-resolution-without-the-extended -Monitor – vsz
Sie die availableGeometry(QWidget*)
Methode in QDesktopWidget
verwenden können, dies wird Ihnen die Geometrie des Bildschirms, dass dieses Widget aktuell ist.
Zum Beispiel:
QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));
Wo this
den Mainwindow-Zeiger ist. Dies funktioniert, wenn mehrere Bildschirme verwendet werden.
Irgendwo in Ihrem QMainWindow Konstruktor, dies tun:
resize(QDesktopWidget().availableGeometry(this).size() * 0.7);
Dies wird das Fenster auf 70% des verfügbaren Platzes auf dem Bildschirm ändern.
Siehe diesen Link: Und Sie 70% davon berechnen kann. –
amir weitermachen und als Antwort posten. – UmNyobe
okay Danke ich werde das versuchen :) – dadod2