Qt 中 QTableView 中如何设置某一单元格文本的颜色值,希望能贴出代码...

发布网友 发布时间:2022-04-25 19:34

我来回答

3个回答

懂视网 时间:2022-05-06 21:27

QlikView中可以创建透视表和垂直表,或者一般的Table。假如有的时候需要某一个单元的样式和其他单元不一样,颜色或者边框宽度等,可以通过以下方式实现: 工具栏里面有个按钮叫:Design Grid,如下图所示: 点击之后会发现整个Dashboard背景会被出现很多小子

QlikView中可以创建透视表和垂直表,或者一般的Table。假如有的时候需要某一个单元格的样式和其他单元格不一样,颜色或者边框宽度等,可以通过以下方式实现:

工具栏里面有个按钮叫:Design Grid,如下图所示:

点击之后会发现整个Dashboard背景会被出现很多小格子。随便新建一个Straight Table,右键该垂直表内容的任何一个区域,选中"Custom FZ喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcm1hdCBDZWxsJnF1b3Q7o6zI58/CzbyjujwvcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140901/2014090109515451.jpg" alt="">

点击"Custom Format Cell"之后会出现如下对话框:

在上面红色标记的地方可以选择你要改变样式的单元格,右边可以做一些你想要的改变,如边框,字体颜色大小等,改变之后如下所示:

热心网友 时间:2022-05-06 18:35

回复:
Qt::BackgroundRole改成Qt::ForegroundRole,就是文字颜色.(0,5)单元格就是index.column()==5&&index.row()==0

subclass你的Model,重载data、setData函数,以data()为例:

QVariant MyTestModel::data(const QModelIndex &index, int role) const
{
switch(role)
{
case Qt::DisplayRole:
return QVariant(QString(tr("%1")).arg((index.column() + 1) * 1000 + index.row() + 1));
case Qt::BackgroundRole:
switch(index.column() % 3)
{
case 0:
return QVariant(QColor(Qt::red));
case 1:
return QVariant(QColor(Qt::green));
case 2:
return QVariant(QColor(Qt::blue));
default://only to disable warning
return QVariant(QColor(Qt::white));
}

break;
default:
return QVariant();
}
}

热心网友 时间:2022-05-06 19:53

QTableView 是用于 view - delegation - model 类型的;要想改变某一单元格文本的颜色,还是用 QTableWidget.

假设界面上 QTableWidget name 是 tableWidget;

ui->tableWidget->item(0, 0)->setForeground(Qt::red);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com