首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义小部件的QSS属性:如何实现悬停和按下状态

自定义小部件的QSS属性:如何实现悬停和按下状态
EN

Stack Overflow用户
提问于 2014-09-20 14:08:17
回答 1查看 1.8K关注 0票数 4

我在网上找到了一个关于如何实现从QSS访问的自定义QWidgets:Example的自定义属性的示例。

有人知道我如何实现这个小部件,使我可以有不同的颜色悬停或按下状态?

当前的样式表如下所示:

代码语言:javascript
复制
SWidget
{
 qproperty-lineColor: yellow;
 qproperty-rectColor: red;
}

我想拥有这样的东西:

代码语言:javascript
复制
SWidget:hover
{
 qproperty-lineColor: blue;
 qproperty-rectColor: green;
}

SWidget:pressed
{
 qproperty-lineColor: orange;
 qproperty-rectColor: violet;
}

注意:我知道可以使用特定于鼠标事件的q属性实现鼠标事件并更改颜色,例如:

代码语言:javascript
复制
SWidget
{
 qproperty-lineColor: yellow;
 qproperty-rectColor: red;
 qproperty-lineColor-hover: orange;
 qproperty-rectColor-hover: violet;
}

但我希望能够使它使用原来的qss/css方式。

致以问候!

EN

回答 1

Stack Overflow用户

发布于 2017-12-19 11:54:43

当用户悬停或按下小部件时,您应该更改一些小部件属性。并为该属性制作不同的QSS选择器。更改属性后,您应该对应用程序样式进行非抛光\修饰。

代码语言:javascript
复制
qApp->style()->unpolish( this );
qApp->style()->polish( this );

其中“此”当前窗口指针。该“魔法”代码将有助于产生适当的QSS选择器的影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25949640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档