c++ - 如何为QTreeWidget中的特定行设置背景颜色

标签 c++ qt qt4

我想为 QTableWidget 中的特定行设置颜色,就像 setAlternatingRowColors 所做的那样,只是我应该能够指定我想要的行和颜色。我试过下面的代码

QBrush b (QColor(224,224,224));
item->setBackground( 0 , b );
item->setBackground( 1 , b );
item->setBackground( 2 , b );

但此代码仅用颜色填充项目列,而不是整行。

最佳答案

由于 Qt 在不同的 QTableWidgetItems 中处理 QTableWidget 的所有字段,因此根本无法像您在此处建议的那样影响表格中的完整行。由于您似乎只使用标准字段而没有自定义“特价商品”,因此您可以遍历 QTableWidgetItems 行并一一设置它们的背景。

更符合您需求的时尚方式是使用 Qt 的模型/ View 框架,通过使用 QBackgroundRole 的数据后端获取背景颜色。一个好的起点是:http://qt-project.org/doc/qt-4.8/model-view-programming.html

可能很难掌握 MVC 范式背后的概念,但一旦掌握它就会非常灵活。

关于c++ - 如何为QTreeWidget中的特定行设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100552/

相关文章:

c++ - SVG 图标未显示在 Windows 中的 Qt4 发布版本中

c++ - qt Qmake 为一个项目生成pkgconfig

c++ - is_error_code_enum<> 枚举必须仅在全局命名空间中定义?

c++ - 神秘的赛格。过错

c++ - Qt & Raspberry Pi 取终端命令的响应值

qt - 如何在QLineEdit/QLabel等中从左到右显示阿拉伯符号?

c++ - 无法创建 switch 语句

C# 和 C++ 库

c++ - "#include <QtCore/QCoreApplication>"与 "#include <QCoreApplication>"

c++ - 在 Qt 4 中直接在鼠标下缩放图像