2013-03-16 16 views
6

Veritabanlarından veri satırları içeren bir QTableView var. Ancak, setAlternatingRowColors (true) ayarı yalnızca verileri içeren satır renklerini değiştirir - tablonun geri kalanı yalnızca beyazdır, beklediğiniz davranış değildir (örneğin, herhangi bir tarayıcının yer işareti listesine bakın) - boş satırlar dönüşümlüdür renkler).Qt: QTableWidget/QTableView tam görünüm penceresinde sıralı satır renkleri görüntüleme

Qt tarafından sağlanan tablo görünümlerinde bir çalışma ya da alternatif bilen var mı? Stil sayfaları ve öğe delegeleriyle aynı sonucu elde ettim.

+0

Kendiniz bir şey buldunuz mu? Aynı problemim var. – PrisonMonkeys

+2

Bunun yerine bir QTreeView/QTreeWidget kullanarak bitti. Masalar gibi davranmaları kolay. Ancak, açık bir şekilde bir QTable * ve bir QTree *, değişken satırlarla boş satırları doldurma konusunda aynı şekilde davranmalıdır, ancak ... – Zumteufel

cevap

2

Böyle modelinizin data() yöntemle tekrar olabilir:

QVariant MyModel::data(const QModelIndex& index, int role) const 
{ 
    if(role == Qt::BackgroundColorRole) 
     return color; 
    ... 
} 

O setModelData() kullanarak bir temsilci ile aynı yapmak mümkün olmalıdır.

+0

Bu, boş veri satırları için işe yarar mı? – Zumteufel

+0

Gerekir. Benim durumumda işe yarıyor. Bunu deneyebilirsiniz çok zaman almayacak. – Funt

İlgili konular