ile QGraphicsScene kullanmalısınız ve ben bunun için QGraphicsScene
kullanmaknası düzenleri ve widget'ları
Ancak veri öğeleri vb QGraphicsItem
ler oluşturmak için cazip oldu Bazı kontrol katmanları eklemek istedim (örneğin, kaydırma çubukları, yakınlaştırma + diğer düğmeler gibi) - örneğin Google Haritalar ile benzer bir tarzda yapmak istiyorum. Diğer bir deyişle, widget, widget'ın her tarafında görüntülenecektir. widget'ın üstüne)). Bu yüzden onları sahneye ekleyebilmenin mümkün olabileceğini düşündüm (belki de veriler üzerinde gösterilecek olan QGraphicsGroupItem
'un bir çocuğu olarak). Ancak tüm parçacığı yeniden boyutlandırdığımda & yeniden boyutlandırmak istiyorum, bu yüzden bunları yönetmek için bir QGraphicsLayout
kullanmalıyım. Ama bu noktada, şeylerin oldukça karmaşık olduğunu keşfettim.
sorun QGraphicsLayout
kullanırken, aşağıdaki kısıtlamaları tutun şudur:
- Sadece
QGraphicsWidget
bir düzen tarafından yönetilebilir QGraphicsLayout
sadeceQGraphicsWidget
Bu, denetimlerimi QGraphicsWidget
s olarak oluşturmam gerektiği, veri parçacığına en üst düzey QGraphicsWidget
eklenmesi gerektiği ve Bu en üst düzey widget’ın kendisiyim.
yüzden sormak istiyorum:
klasik yaklaşım (yani tüm denetimler için düz eski aletler kullanmak ve yalnızca verileri görüntülemek için
QGraphicsScene
kullanın.) Daha makul olmaz mı?Bu durumda
QGraphicsScene
kullanımında herhangi bir avantaj var mı (performans veya basitlik ...)?Güçlü yanlarından yararlanmak için
QGraphicsScene
'u nasıl kullanmalıyım?
QGraphicsScene ile en büyük sorun aslında bir widget OLMADIĞIDIR. Otomatik olarak çizilen, yakınlaştırılabilen, vb. Öğelerden oluşan bir koleksiyon gibi bir şeydir. Anlattığınız şey klasik, sade eski widget tarzıdır ve muhtemelen buna bağlı kalacağım.Ben "parlak ve yeni" işlevselliğini kullanmak istedim, ama ikinci düşüncede, bana bu kadar parlak görünmüyor, birileri bana yanlış olduğunu kanıtlıyor :) – jpalecek
jpalecek: "saatler" widget'ını kontrol et demo @ http: // www.qtsoftware.com/developer/pimp-my-widgets-developer-contest .. Bir saat widget'ına sahip olmaktan başka bir şey yoktur ama bunun için uygulama QGraphics (Scene | Widget | View | Item) ile yapılır. – rasjani
@jpalecek: Ben bir QGraphicsScene bir widget olduğunu düşünmedim, bu yüzden "tek yönlü" mi kalmam gerektiğini söyledim. Ama bir QGraphicsView (ya da benzer bir şey) var, değil mi? Sahnelerinizle dönüşmesini istemediğiniz sürece, widget'larınızı bunun üzerine koymak isteyebilirsiniz. Sanırım bu durumda sade eski widget yolu daha basit ve daha düz. –