2013-10-24 19 views
0

我想用調色板添加一個標籤到QTableWidget。但它不顯示與我設置爲標籤調色板的顏色。這裏是我的代碼,如何添加調色板的qlabel作爲qtablewidget項目?

  QWidget *colorTableWidget = new QWidget(); 
      QLabel *lbl = new QLabel(); 
      lbl->setAutoFillBackground(true); 

      QPalette palette; 
      palette.setColor(lbl->backgroundRole(), QColor("RED")); 
      lbl->setPalette(palette); 

      QGridLayout *gridLayout = new QGridLayout(); 
      gridLayout ->addWidget(lbl,0,0); 

      colorTableWidget->setLayout(gridLayout); 

      ui->tableWidget->setCellWidget(row,0,colorTableWidget); 

可以在任何一個告訴我什麼是錯在這裏..?,同樣的事情正在工作時我添加一個文本標籤,但其不工作的調色板。我在win 7環境下使用Qt 4.8.4。

回答

0

在您的代碼中使用網格佈局的目的並不清楚。我會重寫你的代碼,採用以下簡化的方式:

QLabel *lbl = new QLabel; 
lbl->setAutoFillBackground(true); 

QPalette palette = lbl->palette(); 
palette.setColor(lbl->backgroundRole(), Qt::red); 
lbl->setPalette(palette); 

ui->tableWidget->setCellWidget(row, 0, lbl); 
+0

我需要網格佈局有多個標籤和調色板,但它現在看起來更好。謝謝 – Prady

相關問題