【问题标题】:changing cell background color in qt在qt中更改单元格背景颜色
【发布时间】:2011-02-17 20:52:52
【问题描述】:

我是 pyqt 新手,我仍然面临一些新手问题:D
我有一个 QTableWidget,它是委托给 Qchoice 控件的项目(希望我说得对) 每当用户更改选择控件选择时,我都需要更改单元格背景颜色
简要说明:如何更改表格小部件中的单元格背景颜色?
我使用 pyqt4 和 python 2.6
提前谢谢

【问题讨论】:

    标签: qt qt4 pyqt pyqt4 qtablewidget


    【解决方案1】:

    我用过这样的东西:

    brush = QtGui.QBrush(QtGui.QColor(255, 0, 0))
    brush.setStyle(QtCore.Qt.SolidPattern)
    item.setBackground(brush)
    

    其中 item 是 QTableWidgetItem 对象

    【讨论】:

      【解决方案2】:

      使用

      QTableWidgetItem QTableWidget.item(row, column)
      

      QTableWidgetItem setData(role, data)
      

      Qt.BackgroundRole
      

      如下:

      table.item(0, 0).setData(Qt.BackgroundRole, color).
      

      并了解 Qt 模型/视图中使用的角色机制。

      【讨论】:

        【解决方案3】:

        如果你使用 QTableView 使用这个:

        model.setData(model.index(0, 0), QVariant(QBrush(Qt::red)), Qt::BackgroundRole);
        

        【讨论】:

          【解决方案4】:

          这里有一些有用的代码行。对不起,我正在努力获得一些声誉。

          QStandardItemModel* model = new QStandardItemModel(numRows, numColumns);
          QStringList headers;
          headers.append("Date");
          model->setHorizontalHeaderLabels(headers);
          QStandardItem* item = new QStandardItem(text);
          item->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
          item->setData(QVariant(QBrush(Qt::green)), Qt::BackgroundRole);
          model->setItem(row, column, item);
          

          或者简单地说:

          item->setBackground(Qt::green);
          

          【讨论】:

            【解决方案5】:

            嘿,您为表格小部件设置了委托方法。在代表的绘画事件中,您处理颜色变化技术.. 看看这个example,这里他们已经完成了自定义选择颜色。处理项目单元格绘制的方式相同

            【讨论】:

              【解决方案6】:

              对于 C++ 方式的补充,如果你想绘制不同于 Qt::red 等的自定义颜色,你可以这样做: ui->tableWidget->item(i, j)->setBackground(QColor(152,234,112));

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2012-08-18
                • 2011-09-24
                • 2013-04-12
                • 2021-10-31
                • 1970-01-01
                • 2013-06-15
                • 2013-06-28
                • 2016-05-27
                相关资源
                最近更新 更多