QTableWidget每行的verticalheader背景颜色

时间:2017-10-12 13:25:00

标签: c++ qt

我想更改verticalheader的背景颜色。在我的简单示例中,它应该只有两种不同的颜色。

之前:

Before

后:

enter image description here

代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    int rows = 2, cols = 3;

    tbl_widget = ui->tableWidget;
    tbl_widget->setRowCount(rows);
    tbl_widget->setColumnCount(cols);

    for(int rowCount = 0; rowCount < rows; rowCount++) {
        for(int colCount = 0; colCount < cols; colCount++) {
            QTableWidgetItem *newItem = new QTableWidgetItem(tr("Text"));

            if((rowCount+colCount)%2 == 0) {
                newItem->setBackground(QColor(0, 200, 0, 60));               
            } else {
                newItem->setBackground(QColor(255, 255, 128, 70));               
            }
            tbl_widget->setItem(rowCount, colCount, newItem);
        }

        QTableWidgetItem *verticalItem = new QTableWidgetItem(QString::number(rowCount+1));
        if(rowCount%2 == 0) {
            verticalItem->setBackground(QColor(255, 255, 128, 70));
        } else {
            verticalItem->setBackground(QColor(0, 200, 0, 60));
        }
        tbl_widget->setVerticalHeaderItem(rowCount, verticalItem);
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}

我试图开发它,但似乎没有变化。是否可以更改垂直标题项的背景颜色?

0 个答案:

没有答案