Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 应用程序图标不适用于快照打包_Qt_Qt5_Desktop Application_Snapcraft - Fatal编程技术网

Qt 应用程序图标不适用于快照打包

Qt 应用程序图标不适用于快照打包,qt,qt5,desktop-application,snapcraft,Qt,Qt5,Desktop Application,Snapcraft,我的桌面文件是: [Desktop Entry] Name=Heimer GenericName=Mind map application Comment=Mind map application Exec=heimer Icon=heimer Type=Application Categories=Education; StartupNotify=true 我的snapcraft.yaml是: name: heimer version: '1.1.0' summary: Heimer is

我的桌面文件是:

[Desktop Entry]
Name=Heimer
GenericName=Mind map application
Comment=Mind map application
Exec=heimer
Icon=heimer
Type=Application
Categories=Education;
StartupNotify=true
我的snapcraft.yaml是:

name: heimer
version: '1.1.0'
summary: Heimer is a simple cross-platform mind map tool.
description: |
  Heimer is a simple cross-platform mind map creation tool.
  Emphasis on easy diagram creation, simplicity, and speed.
grade: stable
confinement: strict
icon: ../../../data/icons/heimer.png

apps:
  heimer:
    command: desktop-launch heimer
    desktop: usr/share/applications/heimer.desktop
    plugs: [home, x11, wayland]

parts:
  gnu-heimer:
    source: ../../../
    plugin: cmake
    configflags:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
    build-packages:
      - qtbase5-dev
      - qttools5-dev
      - qttools5-dev-tools
    stage-packages:
      - libqt5xml5
    after: [desktop-qt5]
CMake将应用程序图标安装到:

# Install icons
install(FILES data/icons/heimer.png DESTINATION share/pixmaps)
install(FILES data/icons/heimer.png DESTINATION share/icons/hicolor/64x64/apps)
桌面文件已安装到:

# Install .desktop files
install(FILES ${CMAKE_BINARY_DIR}/heimer.desktop DESTINATION share/applications)
我不明白问题出在哪里。安装snap后,我的应用程序始终在启动程序Ubuntu 18.04中显示默认的系统图标。创建包或运行包时没有警告或任何内容


注意:同样的设置也适用于Debian打包。我的Debian软件包使用完全相同的安装位置,图标在这种情况下工作正常。

目前,Snapcraft不处理桌面条目的图标,因此系统找不到图标,因为桌面条目中指定的图标不在中,打包程序必须手动将图标值修补为$SNAP/path/to/the/Icon.{png,svg}到应用程序指定的.desktop文件。_app_name_u桌面键

这是我的建议

为此,我一直在使用GNU-Sed脚本: 用于修补的实用程序脚本: 配方中调用实用程序脚本的位置:
我已在以下网址提交了一份改善这种情况的建议:

按照这些步骤,图标将出现在桌面快照应用程序中

转到var/lib/snapd/desktop/application 复制.desktop vlcu vlc.desktop 粘贴到桌面上 右键单击并选择“允许午餐”
这个问题是关于构建一个快照包,以便桌面图标工作。谢谢@juzzlin,按照这些步骤,图标将显示在桌面上。