我在委托实现的paint()方法中使用QStyleOptionButton。
如何为QStyleOptionButton创建的按钮设置样式表和图标?
我可以设置图标,但是该图标位于该按钮的左侧。
我想在该按钮的顶部设置图标和样式表。
提前谢谢。
最佳答案
您必须创建要使用唯一对象名称设置样式的QPushButton的真实实例。然后,您可以在qcss中使用它。如果要继承QStyleOptionButton
的感觉,则必须使用initFrom(const QWidget * widget)
的QStyleOptionButton
成员。
即
MyCustomDelegate: QAbstractItemDelegate
{
Q_OBJECT
public:
MyCustomDelegate(...) { styleB = new QPushButton(); styleB->setObjectName("MyCustomDelegateButton"); }
private:
QPushButton * styleB;
};
然后在qcss中
#MyCustomDelegateButton
{
background: green;
color: red;
}
这应该工作