我在网上找到了一个关于如何实现从QSS访问的自定义QWidgets:Example的自定义属性的示例。
有人知道我如何实现这个小部件,使我可以有不同的颜色悬停或按下状态?
当前的样式表如下所示:
SWidget
{
qproperty-lineColor: yellow;
qproperty-rectColor: red;
}我想拥有这样的东西:
SWidget:hover
{
qproperty-lineColor: blue;
qproperty-rectColor: green;
}
SWidget:pressed
{
qproperty-lineColor: orange;
qproperty-rectColor: violet;
}注意:我知道可以使用特定于鼠标事件的q属性实现鼠标事件并更改颜色,例如:
SWidget
{
qproperty-lineColor: yellow;
qproperty-rectColor: red;
qproperty-lineColor-hover: orange;
qproperty-rectColor-hover: violet;
}但我希望能够使它使用原来的qss/css方式。
致以问候!
发布于 2017-12-19 11:54:43
当用户悬停或按下小部件时,您应该更改一些小部件属性。并为该属性制作不同的QSS选择器。更改属性后,您应该对应用程序样式进行非抛光\修饰。
qApp->style()->unpolish( this );
qApp->style()->polish( this );其中“此”当前窗口指针。该“魔法”代码将有助于产生适当的QSS选择器的影响。
https://stackoverflow.com/questions/25949640
复制相似问题