2010-06-01 25 views
5

Geliştirdiğimiz QT uygulamasında birkaç 'Viewer penceresi' (XY düzleminde, YX düzleminde, XZ düzleminde ve 3D'de verileri görüntülemek için) görüntülememiz gerekiyor.MDI modeli veya Dock Windows?

MDI uygulama modelini kullanmayı umuyorduk, ancak daha sonra istemci, birden çok masaüstünde 'Viewer pencerelerini' sürüklemenin ve görüntülemenin bir gereksinimini sordu (birden çok monitör kullanarak). MDI penceresini Ana Uygulama Penceresinin dışına taşıyamayacağımızdan, bu MDI pencere modeli kullanılarak yapılamaz.

Yalnızca Ana Pencerelerden ayrılmış ve diğer masaüstü bilgisayarlara alınabilecekleri, ancak araç paletleri veya yardımcı program pencereleri için kullanılan pencereleri primer olarak takabildikleri için yalnızca Dock pencerelerini kullanmak mümkündür. Bizim gereksinimi için dock pencere kullanmak iyi bir uygulama

(http://doc.qt.nokia.com/4.6/qdockwidget.html#details)

mi?

+0

Sorunu çözdünüz mü? – Beachwalker

+0

evet, sadece ebeveynleri olmadan QWidgets kullandı.Hat Windows (QWidgets) listesini tutmak için bir Bağlamı yönetmek ve bunları senkronize etmek için bu bağlamı kullandı. –

cevap

3

QDockWindow'u kullanmazsınız çünkü istemci alanını kullanmazsınız. Ayrıca, MainWindow sınırlarına kenetlenmek istemezsiniz, ancak yalnızca widget'ı MainWindow'a eklediniz.

QGridLayout ile birden çok QWidget kullanmayı deneyebilirsiniz. QWidget'ı MainWindow'un dışına sürüklerken, QWidget'i düzeninden kaldırmanız yeterlidir. MainWindow içine sürüklerken QWidget QGridLayout içinde doğru yere ekleyin. Bu yöntemle widget'in yerlerini Ana Pencereye de geçirebilirsiniz.

Yeterince açık olup olmadığını bilmiyorum ama yeni öğeleri bir düzende sürüklerken QtDesigner'da yapıldığı gibi düşünüyorum. Widget'ları sürüklerken, fare düğmesini bırakırken ekleneceği yeri görebilirsiniz.

Aklımda bu yöntem, aradığınız dosya olabilir.

Yardım bu yardımcı olur

+0

cevap için çok teşekkürler! Önerdiğin yolu uygulamaya çalışacağım. Ama bazı akıllı hacklere ihtiyacı var gibi görünüyor. QGridLayout ile SDI modeline gitmem gerekiyor, ancak QWidget'leri ebeveyn olmadan nasıl görüntüleyebilirim? –

+2

Üst öğe olmayan bir pencere öğesi varsa, QWidget'ın ayrıntılı açıklamasında açıklandığı gibi bağımsız bir pencere olur: http://doc.qt.nokia.com/4.6/qwidget.html#details –