qt - 是否可以更改 Qt 中顶级菜单的外观?

标签 qt winapi qt4

我正在使用最新版本的 Qt,并注意到 Windows 上的菜单以非常老式的方式呈现(类似于它们在其他跨平台应用程序(如 Firefox)上的外观)。我希望菜单渲染(颜色、渐变等)呈现出更现代的外观。是否可以在 Qt 中设置皮肤或修改菜单的呈现方式?

最佳答案

我不确定您使用的是 Qt 或 Windows 的哪个版本,但在我安装了 Qt 4.8.1 的 Windows 7 计算机上,默认菜单看起来很正常,就像任何其他 Windows 7 菜单一样。

要更改菜单的外观,您有两个广泛(简单)的选项:

  1. 使用QStyle将其更改为不同的“ native ”外观(使用 QApplication::setStyle() 或 QWidget::setStyle())。例如,您可以使其看起来像 Windows XP 菜单,如下所示:

    fileMenu->setStyle(new QWindowsXPStyle);
    
  2. 使用 Qt style sheets自定义菜单的呈现方式。例如:

    fileMenu->setStyleSheet("background-color: red;");
    

关于qt - 是否可以更改 Qt 中顶级菜单的外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357798/

相关文章:

c++ - Qt4 QTableWidget 使 Column resize to contents, interactive and aligned to table border

qt - 如何从点大小计算qfont像素大小

c++ - QCalendarWidget 带日期

Qt 没有从 arduino 接收串行数据

c++ - 在加载 DLL 之前创建 RemoteThread

c++ - 使用 Windows SDK 7.1 的 Visual Studio 2005 链接错误

c++ - 使用 QDialog 作为弹出窗口时连接无法正常工作

c++ - QScreen::width() 和 QScreen::deviceWidth()、QScreen::height() 和 QScreen::deviceHeight() 的区别

java - PyQt/Qt 是否有类似于 MigLayout 的布局管理器?

c++ - 为什么 GetFullPathName 返回工作目录?