0

我正在尝试将带有调色板的标签添加到 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。

4

1 回答 1

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);
于 2013-10-24T10:55:05.357 回答