2010-05-31 21 views
0

我嘗試的方案選擇QStandardItemModel的所有coulmns和更改油漆我只有第一列出5 QStandardItemModel
我有這個的所有列的背景顏色,該行包含QT如何選擇和改變

// getting the rows 
QStandardItem* standardItem = m_model->item(i); 
//set the color i like all the row to be painted 
standardItem->setBackground(QBrush(QColor(255,0,0))); 
+0

也許你應該更加緊密地解釋一下你的模型實際上是如何設置的...(如果它不是一個連續的行x列表 – 2010-05-31 13:38:23

回答

1

試試這個..

for(int i = 0; i<rowCount; ++i) 
{ 
    for(int j = 0; j<columnCount; ++j) 
     { 
      m_model->item(i,j)->setBackground(QBrush(QColor(255,0,0))); 
     } 
} 

這不是測試。檢查出來..

+0

感謝未經測試的警告.. 這是一個表格佈局的罰款和花花公子,但QStandardItemModel並不遵循這種方式,所以colloumnCount()可以根據當前行進行更改... – ianmac45 2010-05-31 11:44:31

+0

@ ianmac45,我的意思是調用函數columCount()。他指定了列的數量,所以我使用了名爲columnCount的變量。當然,在使用上面的代碼片段之前,你必須知道列數。糾正我,如果我誤解你的評論。 – liaK 2010-05-31 11:52:20

+0

@ liak,啊,我沒有注意到你使用變量而不是方法.. 但是,我所說的仍然適用於行計數,因爲有很好的可以只有一個頂級索引,它贏了'噸,默認情況下,進入較低的水平... 但無論哪種方式,你確實說它沒有測試,我只是解釋我看到.. – ianmac45 2010-05-31 11:56:41