我想在运行时调整现有的样式,特别是QStyle::PM_ToolBarIconSize。这能办到吗?据我所知,您只能继承QStyle并重写pixelMetric()。
编辑1:在QStyle::PM_ToolBarIconSize的具体情况下,我可以使用QToolBar::setIconSize,但这将为单个工具栏实例设置图标大小。我想改变基本的风格提示,以影响所有工具栏随时随地一次猛扑。QStyle::PM_ToolBarIconSize可能不是我想要调整的唯一样式,这只是我第一次看到它,正好有一个“更改此实例的图标大小”函数。
编辑2:我不能仅仅创建一个新的样式子类,因为当前的样式已经是基于样式表的自定义样式。有几种样式可供用户选择。我不想创建一堆新的样式,这样我就可以调整一些工具栏图标或菜单高度大小设置。
发布于 2015-07-08 20:45:18
这正是QProxyStyle的确切目的。
发布于 2015-07-07 06:17:57
那为什么不重写QStyle呢?子类将返回一个图标大小(通过pixelMetric),这取决于QStyle的可设置参数。
由于Qt没有动态QStyle机制,所以最好创建一个新样式实例,其图标大小已更改,然后将其设置为QApplication,而不是更改当前样式。
https://stackoverflow.com/questions/31255491
复制相似问题