2011-01-14 2 views
14

У меня есть приложение Qt, которое необходимо загрузить на мобильные устройства разных размеров экрана. Как сделать его автообновлением на размер экрана мобильного устройства?Сделайте автоопределение окна Qt на размер экрана

+4

Просто чтобы уточнить, вы не хотите [Полноэкранный] (http://doc.trolltech.com /4.7/qwidget.html#fullScreen-prop), а скорее оконный и соответствующий размер экрана? – Troubadour

ответ

14

Если вы хотите, чтобы главное окно вашего приложения занимало весь экран сразу же после его запуска, используйте QWidget::showMaximized, например.

int main(int argc, char **argv) 
{ 
    QApplication app(argc, argv); 
    MyMainWidget widget; 
    widget.showMaximized(); 
    return app.exec(); 
} 

Обратите внимание, что showMaximized функция удобства, которые внутренне называет QWidget::setWindowState упоминаемый Эндрю:

void QWidget::showMaximized() 
{ 
    // ... 
    setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowFullScreen)) 
        | Qt::WindowMaximized); 
    show(); 
} 
+0

Скажем, размер моего главного окна приложения составляет 240x320 пикселей. Затем мне пришлось загрузить его на мобильное устройство с размером экрана 160X160. Будет ли оно автоматически изменять размер доступного размера экрана, используя showMaximized? Спасибо ... – Owen

+0

Я пробовал, но он не вписывался в окно на мой мобильный экран? –

3

void QWidget::setWindowState (Qt::WindowStates windowState)

Устанавливает состояние окна в WindowState. Состояние окна представляет собой OR'ed комбинацию Qt :: WindowState: Qt :: WindowMinimized, Qt :: WindowMaximized, Qt :: WindowFullScreen и Qt :: WindowActive.

Из документации QWidget. Надеюсь, это поможет

6

Если вы действительно хотите геометрию, вы можете использовать QDesktopWidget, чтобы получить информацию о дисплее, включая ее геометрию.

Если вы хотите, чтобы окно было правильно настроено, вы должны использовать QWidget::setWindowState, так как предлагается Andrew.

Смежные вопросы