2012-07-12 16 views
5

'un başlık arka plan rengini nasıl değiştiririm Şu anda denediğim şudur: Başlık metni doğru renk değiştirir, ancak arka plan varsayılandan değişmeyecektir.Bir QTableView

template<typename T> 
inline QVariant TableModel<T>::headerData(int section, Qt::Orientation orientation, int role) const 
{ 
    //... 
    else if(role == Qt::BackgroundRole) { 
     return QBrush(m_display.headerBackground); 
    } 
    //... 
} 

Arka plan rengini nasıl ayarlayabilirim?

+0

Bu değer sabit midir - bu işlev, bir modelin örneğinde her çağrıldığında her zaman aynı fırça döndürülüyor mu? Değilse, başlık verilerinin değiştiği görüşü bildirmek için ilgili sinyalleri mi gönderiyorsunuz? –

cevap

12

Sen daha fazla bilgi için QTableView

ui->tableView->setStyleSheet("QHeaderView::section { background-color:red }"); 

üzerinde stil sayfasını ayarlayabilirsiniz.

MyTableView::MyTableView(QWidget* parent) : QTableView(parent) 
{ 
    ... 
    // Make a copy of the current header palette. 
    QPalette palette = horizontalHeader()->palette(); 

    // Set the normal/active, background color 
    // QPalette::Background is obsolete, use QPalette::Window 
    palette.setColor(QPalette::Normal, QPalette::Window, Qt::red); 

    // Set the palette on the header. 
    horizontalHeader()->setPalette(palette); 
} 
İlgili konular