【发布时间】:2023-03-13 18:33:01
【问题描述】:
我在委托实现的 paint() 方法中使用 QStyleOptionButton。 QStyleOptionButton 创建的按钮如何设置样式表和图标?
我可以设置图标,但图标已设置,位于该按钮的左侧..
我想在那个按钮的顶部设置图标和样式表..
提前致谢。
【问题讨论】:
我在委托实现的 paint() 方法中使用 QStyleOptionButton。 QStyleOptionButton 创建的按钮如何设置样式表和图标?
我可以设置图标,但图标已设置,位于该按钮的左侧..
我想在那个按钮的顶部设置图标和样式表..
提前致谢。
【问题讨论】:
您必须创建您想要使用唯一对象名称设置样式的 QPushButton 的真实实例。然后你可以在 qcss 中使用它。如果你想继承 QStyleOptionButton 的外观,你必须使用 QStyleOptionButton 的成员 initFrom(const QWidget * widget)。
即
MyCustomDelegate: QAbstractItemDelegate
{
Q_OBJECT
public:
MyCustomDelegate(...) { styleB = new QPushButton(); styleB->setObjectName("MyCustomDelegateButton"); }
private:
QPushButton * styleB;
};
然后在 qcss 中进行操作
#MyCustomDelegateButton
{
background: green;
color: red;
}
这应该可以工作
【讨论】: