一、修改第一列颜色
方式一:
QTableWidgetItem *item;
// 设置第一列的背景颜色为红色
for (int row = 1; row < ui->tableWidget->rowCount(); row++) {
item = new QTableWidgetItem();
item->setBackgroundColor(Qt::green);
ui->tableWidget->setItem(row, 3, item);
}方式二:
// // 设置列的背景颜色
// for(int row = 1; row < ui->tableWidget->rowCount(); row++) {
// ui->tableWidget->item(row, 3)->setBackground(QColor(Qt::darkGreen));
// ui->tableWidget->item(row, 3)->setForeground(QColor(Qt::black));
// ui->tableWidget_2->item(row, 3)->setBackground(QColor(Qt::darkGreen));
// ui->tableWidget_2->item(row, 3)->setForeground(QColor(Qt::black));
// }
二、通过获取链表内容,修改对应颜色
if(trendcol==3 && trendrow!=0)
{static int n=0;
QList <QString> modelist={"OFF","ON"};QString modecount=modelist.at(n);
QTableWidgetItem *item=new QTableWidgetItem(modecount);
ui->tableWidget->setItem(trendrow,3,item);
//修改里面的显示内容,改变对应颜色
if (modecount == "ON") {
// 设置背景色为绿色
ui->tableWidget->item(row, 3)->setBackground(QColor(Qt::darkGreen));
} else if (modecount == "OFF") {
// 设置前景色为黑色
ui->tableWidget->item(row, 3)->setForeground(QColor(Qt::white));
}n++;
}
三、在表格对应列写入下拉框控件,点击下拉框控件时触发标志位,相当于一个事件过滤器
for(int i=1; i<9; i++){
QComboBox *comboBox_2 = new QComboBox();
comboBox_2->addItem("1");
comboBox_2->addItem("2");
comboBox_2->addItem("E3");
comboBox_2->addItem("E4");
comboBox_2->addItem("5");
comboBox_2->addItem("6");
comboBox_2->addItem("7");comboBox_2->setStyleSheet("QComboBox { background-color: black; color: white; }");
// ui->tableWidget->setCellWidget(i, 2, comboBox);
ui->tableWidget_2->setCellWidget(i,2,comboBox_2);
//index参数代表下拉框选中的选项索引
connect(comboBox_2, QOverload<int>::of(&QComboBox::activated),
[=](int index) {
// 在此处处理下拉框控件被点击的事件
// 设置page=1标志位
page_pag = 2;
});
}
四、编写下拉框控件,将其写成八个数组,对其操作
// QComboBox *comboBoxArray[8]; // 创建一个包含5个comboBox对象的数组
// QComboBox *comboBox_2 = new QComboBox();
comboBox_2->addItem("1");
comboBox_2->addItem("2");
comboBox_2->addItem("E3");
comboBox_2->addItem("E4");
comboBox_2->addItem("5");
comboBox_2->addItem("6");
comboBox_2->addItem("7");
// comboBox_2->setStyleSheet("QComboBox { background-color: black; color: white; }");// static int k=0;
// for(int j=1;j<9;j++)
// {
// if(k<8)
// {
// ui->tableWidget_2->setCellWidget(j,2,comboBoxArray[trendrow-1]);
// k+=1;
// }// qDebug()<<"comboBoxArray[trendrow-1]----:"<<comboBoxArray[trendrow-1];
// }