我在委托实现的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;
}


这应该工作

09-08 10:37