2009-05-15 4 views
19

Я думаю, что обычно оконный менеджер определяет начальное положение позиции QMainWindow на столе. Я хочу сам установить начальную позицию. Как это делается с Qt в Windows?Qt: как установить начальное положение основного окна?

+0

Могут ли люди, ответившие на этот вопрос, сказать мне следующее: Как мне запомнить старое положение окна, но вернитесь к монитору, если это положение закроет окно? –

+0

http://doc.trolltech.com/4.3/geometry.html прокрутите вниз до «Восстановление геометрии окна» –

ответ

5

Я считаю, что вы ищете setGeometry.

+2

Удобная ссылка для последней версии Qt: http://doc.trolltech.com/latest/qlayoutitem. html # setGeometry – Pieter

25

Вы можете восстановить геометрию окна с restoreGeometry() и состояние стыкуемых элементов с restoreState(), при строительстве Вашего MainWindow ...

QSettings settings("yourcompany", "yourapp"); 

    restoreGeometry(settings.value("geometry").toByteArray()); 
    restoreState(settings.value("state").toByteArray(),YOUR_UI_VERSION); 

Затем, если вы переопределить closeEvent(), вы можете сохранить состояние следующим образом:

QSettings settings("yourcompany", "yourapp"); 

    settings.setValue("geometry", saveGeometry()); 
    settings.setValue("state", saveState(YOUR_UI_VERSION)); 

YOUR_UI_VERSION константа вы должны увеличиваться, когда ваш пользовательский интерфейс значительно изменяется, чтобы предотвратить попытки восстановить недопустимое состояние.

+0

Точно. , – Thomi

+1

+1: У меня была догадка, что что-то подобное существует, но точно не знаю, как ... –

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