将样式表和图标添加到QStyleOptionButton

Adding stylesheet and icon to QStyleOptionButton

本文关键字:添加 QStyleOptionButton 图标 样式      更新时间:2023-10-16

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

这应该有效