【发布时间】:2012-04-27 21:02:09
【问题描述】:
我正在使用最新版本的 Qt,并注意到在 Windows 上,菜单以非常老式的方式呈现(类似于它们在其他跨平台应用程序上的外观,例如 Firefox)。我希望菜单渲染(颜色、渐变等)呈现出更现代的外观。是否可以在 Qt 中对菜单的呈现方式进行皮肤或修改?
【问题讨论】:
我正在使用最新版本的 Qt,并注意到在 Windows 上,菜单以非常老式的方式呈现(类似于它们在其他跨平台应用程序上的外观,例如 Firefox)。我希望菜单渲染(颜色、渐变等)呈现出更现代的外观。是否可以在 Qt 中对菜单的呈现方式进行皮肤或修改?
【问题讨论】:
我不确定您使用的是哪个版本的 Qt 或 Windows,但在我安装了 Qt 4.8.1 的 Windows 7 计算机上,默认菜单看起来很正常,就像任何其他 Windows 7 菜单一样。
要更改菜单的外观,您有两个广泛(简单)的选项:
使用QStyle 将其更改为不同的“原生”外观(使用QApplication::setStyle() 或QWidget::setStyle())。例如,您可以使它看起来像这样的 Windows XP 菜单:
fileMenu->setStyle(new QWindowsXPStyle);
使用 Qt style sheets 自定义您希望如何呈现菜单。例如:
fileMenu->setStyleSheet("background-color: red;");
【讨论】: