如何在QItemDelegate的paint()函数中确定是否选择了该项?

yan*_*nce 1 qt qitemdelegate

我正在使用QItemDelegate创建一个表.我使用paint(..)方法绘制委托项目,当它们退出编辑模式时看起来相同但我还需要在选择或不选择时绘制不同的项目,并且在这些事件期间也调用paint方法.我的问题是我怎么知道什么时候画哪个?

谢谢.

Cal*_*itt 9

QItemDelegate.paint方法接受一个QStyleOptionViewItem继承自的参数QStyleOption. QStyleOption有一个名为statetype 的成员变量QStyle::State.状态的可能位标志之一是QStyle::State_Selected,您要测试的是.

  • 对于那些想要代码的人,这就是您所需要的:`bool(option.state & QStyle::State_Selected)` (2认同)