2016-11-10 92 views
0

我有一個長QString的窗口小部件窗口,當我在adjustsize()在4K監視窗口大小是1700x500。但是,當使用1024x768顯示器時,當我使用adjustsize()時,窗口大小爲850x500。窗口sizePolicyexpanding。什麼功能使我的小部件在低分辨率顯示器中使用所有資源?在例子中,我想要使用所有的寬度分辨率,所以在1024監視器中,窗口的寬度尺寸也與顯示器尺寸一樣大。Qt 4.8調整窗口全分辨率顯示器

這是代碼,我使用

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

你可以找出屏幕小部件上的可用幾何形狀,通過調用QDesktopWidget :: availableGeometry(),如下面的例子:

#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(); 
} 
+0

而不是創建'QDesktopWIdget'我會建議使用'app'的情況下,如'app.desktopWidget()availableGeometry()' –

+0

商定的新實例的 - 我會改變我的例子,謝謝! –