Sono nuovo di Qt, quindi mi chiedo se c'è un modo per impostare le dimensioni di un QMainWindow
su (per esempio) il 70% del desktop dell'utente.
Ho provato il fattore di allungamento ma non ha funzionato. QWidget::setFixedSize
ha funzionato ma solo con un numero di pixel, penso.Qt: Imposta la dimensione di QMainWindow
risposta
Grazie ad Amir eas. Il problema è risolto. Ecco il codice per esso:
#include <QDesktopWidget>
#include <QMainWindow>
...
QDesktopWidget dw;
MainWindow w;
...
int x=dw.width()*0.7;
int y=dw.height()*0.7;
w.setFixedSize(x,y);
Questo non funzionerà così bene per l'installazione con più monitor: \ Qualche idea per questo? – chwi
@Wilhelmsen: puoi usare 'QDesktiopWidget :: primaryScreen()' come nella risposta a questa domanda: http://stackoverflow.com/questions/17893328/qt-getting-the-screen-resolution-without-theextended -tenere sotto controllo – vsz
È possibile utilizzare il metodo availableGeometry(QWidget*)
in QDesktopWidget
, questo vi darà la geometria dello schermo che questo widget è attualmente in.
Per esempio:
QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));
Dove this
è il puntatore MainWindow. Funzionerà quando si utilizzano più schermi.
Da qualche parte nel costruttore QMainWindow, fare questo:
resize(QDesktopWidget().availableGeometry(this).size() * 0.7);
Questa sarà ridimensionare la finestra per il 70% dello spazio disponibile sullo schermo.
Vedere questo link: E la si può calcolare il 70% di questo. –
amir andare avanti e pubblicare come risposta. – UmNyobe
ok Grazie, proverò questo :) – dadod2