2009-05-15 28 views
19

Normalde pencere yöneticisi, masaüstünde QMainWindow konumunun başlangıç ​​konumunu belirler. İlk pozisyonu kendim ayarlamak istiyorum. Bu, Windows'ta Qt ile nasıl yapılır?Qt: ana pencerenin başlangıç ​​konumunu nasıl belirlenir?

+0

Bu soruyu yanıtlayan kişiler bana şunu söyleyebilir: Pencerenin eski konumunu hatırlamasını nasıl sağlayabilirim, ancak bu konum pencereyi kapatırsa ekrana geri dönebilir miyim? –

+0

http://doc.trolltech.com/4.3/geometry.html "Pencerenin geometrisini geri yükleme" bölümüne ilerleyin –

cevap

5

setGeometry'u aradığınızı düşünüyorum.

Sen restoreGeometry() ile pencere geometrisi, ve MainWindow inşaatı sırasında restoreState() kenetlendi elementleri, durumuna geri
+2

Qt'nin en son sürümü için kolaylık bağlantısı: http://doc.trolltech.com/latest/qlayoutitem. html # setGeometry – Pieter

25

... sen closeEvent() geçersiz Ardından

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

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

, sen durumunu kaydedebilir aşağıdaki gibi:

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

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

YOUR_UI_VERSION UI geçersiz durumuna geri yüklemek için girişimlerini önlemek için önemli ölçüde değiştiği zaman artmalıdır bir sabittir.

+0

Tam olarak. . – Thomi

+1

+1: Böyle bir şeyin var olduğu bir önsezim vardı, ama tam olarak nasıl olduğunu bilmiyordum ... –

İlgili konular