我正在尝试将带有调色板的标签添加到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 :(得分: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);