我想为 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/