2011-08-30 13 views
5
İşte

Ben almaya çalışıyorum budur (bu bir QTableView Widget + çarpın delege ile QAbstractTableModel dayalı MVC):HowTo model oluşturma/özel QTableView ile (düzenlenebilir olmayan) delege?

enter image description here

Notlar:

  • Delegeler editör olarak çalışmıyor, SADECE izleyiciler! Bu tablo görünümü ile modeli düzenlemiyorum.

  • Temsilciler gerçekleştirilebilir olmalıdır. Bu, MAVİ satırın tüm toplam yüksekliğinin 25px veya 250px olabileceği anlamına gelir.

  • OG basit veridir:

    1-sıralı: CompanyName1 Name1, NAME2, NAME3 DİĞER VERİ

    2ROW: CompanyName2 SingleName1 DİĞER VERİ

    3ROW: vb CompanyName3 Name1, Ad2 DİĞER BİLGİ ve. ..

Soru:

  • Özel temsilci (QItemDelegate veya QStyleItemDelegate), örneğin yukarıdaki resimdeki gibi 2. sütuna oluşturmak mümkün mü? Ve eğer mümkünse, belki bana bazı örnekler verebilirim, ya da onlara nereden bakabilirim?

PS. Evet, delegeler ile tüm Qt Demo örneklerine baktım, ama bunu anlamıyorum, istediğimi nasıl yaparım.

PSS. QTableView ->setIndexWidget() Bunun iyi bir fikir olmadığını düşünüyorum. Ama QTableView ->setItemDelegateForColumn(myCustomDelegate) yöntemleri daha iyi!

P3S. Ben QTableWidget sınıfında bir çözüm arıyorum ...

Yanıtlarınız için teşekkür ederiz! :-)


Güncelleme # 1:

  • ben düşünüyorum:

    • Delegeler (örneğin düzenlemeler için sadece kullanılır, biz modeli ile çalışıyorsanız/nesnesi görüntüle) ve benzer öğeleri yönetin (hepsi/sadece sütun/sadece satır).

    • Özel widget'lar daha iyidir, ancak bunları ücretsiz Qt projelerinde görmedim. Ve bu tür widget'ların güzel ve doğru kodlarını almak çok kolay değil ...


Ekleme: Burada

  • soru benzerliği için link olduğunu.
+0

sen tarif edebilir misin? Özel Roller kullanıyor musunuz? Örneğin, belirli bir satır için 'CompanyName2' nasıl alabilirim? – Casey

+0

Şimdilik, böyle bir çözümüm yok. Sadece 'QTreeWidget' + özel widget'larım. Benim Soru ben gibi bir şey katılma konusunda bilgiler yer alacaktır cevabını arıyorum: tam bir asgari çalışma örneği dahil eğer hep birlikte tablo görünümü, model ve delege ... bunun @mosg – mosg

+0

cevaplamak için çok daha kolay olurdu hangi X. açıkçası yapmak istiyorum içinde, ben spinbox temsilci örneği çok yararlı ve basit buldum. http://qt-project.org/doc/qt-4.8/itemviews-spinboxdelegate.html. Python çalışmak, böylece aşağıda cevabını dışında özellikleri ile çok fazla yardımcı olamaz: aslında oldukça kolaydır - sadece salt okunur bir model için boya reimplement. İşin geri kalanı delege taban sınıfına geri gidiyor. – neuronet

cevap

0

temsilciler sadece düzenleme kullanılan pencere öğeleri oluşturmak için yararlıdır. Ayrıca, her bir görünür dizinin genel görünümünü ve görünümünü oluştururken de kullanılır (bu durumda, bir tablo hücresi).

Sen özel bir görünüm oluşturmak ve temsilci paint() yöntemini reimplementing tarafından hissedebilirsiniz. modelinizden verileri getir nasıl