首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt:如何动画高亮不可编辑的QComboBox?

Qt:如何动画高亮不可编辑的QComboBox?
EN

Stack Overflow用户
提问于 2013-10-19 15:36:36
回答 1查看 406关注 0票数 0

我希望一些窗口控件在每次更改(由应用程序内部生成)时以某种方式突出显示,以指示用户。

我发现了一个很好的方法:通过调色板和QVariantAnimation操作背景颜色。唯一造成巨大问题的小部件是QComboBox,因为它的背景颜色需要非常棘手的处理。唯一的(!)改变它与平台无关的正确方法是应用this hack并设置样式表的“背景颜色”属性。问题是从样式表中获取默认值,这是平滑地将颜色设置回初始状态所必需的。

有没有办法以“单部件”的方式处理这个问题(更具体地说: QAbstractButton、QLineEdit、QComboBox、QSlider、QListView、QGroupBox)?也许有其他方法可以让小部件的高亮显示动画化?

EN

回答 1

Stack Overflow用户

发布于 2013-10-22 19:14:09

我最后得出的结论是:在不破坏其默认/初始/非动画外观的情况下,向小部件添加动画效果是不可能的。

因此,我按照预期使用调色板中的小部件特定颜色角色,对background-color样式表属性进行了动画处理(!)初始颜色(在应用样式表之前,在动画构造函数中拾取它)。虽然我无法在启用了Aero的Windows7上设置QComboBox的QPalette::Base颜色以保持白色显示(它只在启动时显示白色,但后来不知何故变成了灰色,似乎是一个错误),但我对结果感到满意。(也不需要应用this hack)

下面是我的代码:http://pastebin.com/PDyS1Mn1

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

https://stackoverflow.com/questions/19463654

复制
相关文章

相似问题

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