2016-11-10 8 views
0

ウィンドウサイズが1700x500の場合、私はを4Kでモニターすると、長いQStringを持つウィジェットウィンドウを持っています。しかし、1024x768モニタを使用している場合、私がadjustsize()を使用したときのウィンドウのサイズは850x500です。ウィンドウsizePolicyexpandingです。私のウィジェットが低解像度モニタですべてのリソースを使用するようにする機能は何ですか?私はすべての幅の解像度を使用したいので、1024のモニターでは、ウィンドウの幅のサイズもモニターのサイズと同じくらい大きいです。Qt 4.8ウィンドウフル解像度モニタを調整する

これはあなたがQDesktopWidgetを呼び出すことによって、あなたのウィジェットが上にある画面の利用可能ジオメトリを見つけることができます私は

void ConfigDialog::InitializeWindowSize() 
{ 
    QDesktopWidget desktop; 
    QRect screenGeometry = QApplication::desktop()->availableGeometry(desktop.screenNumber(this)); 
    this->setMaximumSize(screenGeometry.width(), screenGeometry.height()); 
    this->setGeometry(0,0,screenGeometry.width(), screenGeometry.height()); 
    if(this->width() > 1024 && screenGeometry.width() <= 1024) 
    { 
     this->setGeometry(QApplication::desktop()->availableGeometry(desktop.screenNumber(this)));  
    } 
    adjustSize(); 
} 

答えて

1

を使用していたコードです:: availableGeometry()、以下の例のように:

。私は私の例を変更します、ありがとう - 代わりに、 `私はapp.desktopWidget()`のように、 `app`のインスタンスを使用することをお勧めしますQDesktopWIdget` availableGeometryを()`
+0

! –

+0

が合意の新しいインスタンスを作成する

#include <QApplication> #include <QDesktopWidget> #include <QLabel> int main(int argc, char ** argv) { QApplication app(argc, argv); QLabel * lab = new QLabel("Hello!"); lab->setGeometry(qApp->desktop()->availableGeometry(lab)); // make the label take up the entire screen! lab->show(); return app.exec(); } 

関連する問題