gpt4 book ai didi

c++ - QT 文件菜单未集成到标题栏中

转载 作者:行者123 更新时间:2023-11-30 05:34:24 25 4
gpt4 key购买 nike

我正在 QT Creator 3.5.1 中编写一个基本的图形用户界面应用程序,我使用的是 QT 5.5。我已经通过他们的网站下载了 QT/QT creator。我目前正在运行 Ubuntu 15.04 64 位。

我遇到了有关将菜单栏集成到标题栏的问题。问题是没有集成发生(菜单栏没有出现在标题栏中)。菜单栏出现在它过去所在的位置,即磁贴栏下方。这是正在发生的事情的图像:

file menu problem

我该如何解决这个问题?

更新:

我通过 apt-get 和 qt creator 安装了 qt 5.4.1。当我对此进行编译时,我的标题栏集成有效!那么问题来了,有什么不同?与我一起开发的人正在使用 QT 5.5.1,我想使用与他们相同的版本。这次我可以做些不同的事情吗?

最佳答案

我发现的独特方式是在 this blog 中.他声称此方法适用于 Qt Creator,但我已经在 Ubuntu 32/64 位 Qt5 应用程序(由我开发)上进行了测试,它似乎也能正常工作!

步骤是:

  1. 打开终端
  2. 输入sudo apt-get install libgtk2.0-dev libdbusmenu-qt5-dev
  3. 使用 CD 命令设置当前目录(appmenu 项目将存在于此)
  4. 输入命令apt-get source appmenu-qt5

现在,博客仍然使用命令行,但接下来的步骤可以通过在 Qt Creator 中打开项目(项目在当前目录中)来完成。

  1. 使用一些文本编辑器(当然可以是 Qt Creator),编辑 appmenu/src/src.pro 的以下行:

    配置 += X11 link_pkgconfig 调试

    PKGCONFIG += dbusmenu-qt5 gtk+-2.0

    DESTDIR = ./

到(如果你想要一个动态库):

CONFIG += X11 link_pkgconfig
PKGCONFIG += dbusmenu-qt5 gtk+-2.0

或者(如果你想要一个静态链接库):

CONFIG += X11 link_pkgconfig static
PKGCONFIG += dbusmenu-qt5 gtk+-2.0
  1. 使用 Qt Creator 打开项目(如果您还没有打开)选择构建模式(Release 模式似乎体积较小)并构建。

  2. 如果构建成功(作为动态库),您将在 Qt5 安装文件夹 /plugins/platformthemes 中拥有一个名为 libappmenu-qt5.so 的插件.要获得菜单集成,只需将库放在目标应用(包括 Qt Creator)的 platformthemes 子文件夹中。

或者如果构建成功(作为静态链接库),您将在 Qt5 安装文件夹 /plugins/platformthemes 中拥有一个文件 libappmenu-qt5.a。这是静态库。要将它与您的应用程序集成,请添加到您的项目文件:

QT       +=  core-private gui-private platformsupport-private dbus widgets

LIBS += $$[QT_INSTALL_DATA]/plugins/platformthemes/libappmenu-qt5.a

CONFIG += X11 link_pkgconfig
PKGCONFIG += dbusmenu-qt5 gtk+-2.0

还有你的main.cpp:

#include <QtPlugin>

Q_IMPORT_PLUGIN(AppMenuPlatformThemePlugin)

int main(int argc, char *argv[])
...

结果应该是这样的:

Qt Creator

编辑(构建为动态库时有效):请注意,您不需要重新编译 Qt 应用程序或 Qt Creator。

对于 Qt Creator,您需要将 libappmenu-qt5.so 放在您的 Qt 安装文件夹中:/Tools/QtCreator/lib/Qt/plugins/platformthemes

如果您想重新分发您的 Qt 应用程序,只需在您的可执行文件的文件夹内共享文件夹 platformthemes 和其中的 libappmenu-qt5.so。与任何其他 Qt 插件一样。

编辑 2:如果您不想要额外的依赖项,也可以构建一个静态链接的插件。

关于c++ - QT 文件菜单未集成到标题栏中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34235808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com