有没有办法在不失去小部件样式的情况下更改其背景颜色?我的问题可以在 Windows 7/Vista 上的 Aero 主题和 Windows 8 上重现。您可以在 Qt Designer 中看到它的外观:
这里有四个按钮:顶部的两个小部件看起来很好(就像该程序的所有其他小部件一样),但底部的两个小部件看起来很旧。唯一的原因是设置了这些按钮的背景颜色(据我所知,如果小部件不是标准的,则桌面窗口管理器将样式重置为旧的)。
那么,有没有办法强制桌面窗口管理器使用非标准的背景颜色绘制按钮?(Microsoft Office可以做到,但我不确定它是否是标准功能)
您能推荐一个Qt扩展,用现代(Aero主题)替换按钮的标准绘制吗?或者您知道更标准的方法吗?
我只找到了一种在不失去样式的情况下更改颜色的方法:将部分透明的小部件放在按钮上方(并使其对鼠标点击透明)。 您可以在此处查看结果(我的边框比必要的大-这是为了演示;还需要颜色校正以补偿透明度,但这并不重要):
它可以运行,但我不喜欢这个“解决方案”。你有更好的想法吗?