【问题标题】:Show a Ubuntu Icon while running a Python script在运行 Python 脚本时显示 Ubuntu 图标
【发布时间】:2015-05-12 14:02:47
【问题描述】:

我有一个 Python 脚本,可以实时绘制一些数据图形。在运行时,Ubuntu 仅在启动器中显示一个问号图标。我想显示自定义图像。

这样做的原因是我们的应用程序产生了几个不同的应用程序,并且它们都有问号图标。当用户想要在应用程序之间切换焦点时,这会使用户感到困惑。

我已尝试在~/.local/share/applications 中创建桌面条目文件

[Desktop Entry]
Version=1.0
Name=My Plot
Comment=Super cool plot
Exec=python /net/users/username/path/to/plot.py
Icon=plot.png
Terminal=false
Type=Application
Categories=Utility;Application;

/net/users/username 是我的$HOME 目录。我尝试将plot.png 图标放在/net/users/username/.local/share/icons/hicolor/48x48/apps/

这是为正在运行的 python 脚本创建自定义图标的正确方法吗?

注意:我不想通过 Ubuntu 启动器启动这个脚本。如果解决方案也这样做,那也不会受到伤害。我只想在 python 脚本运行时显示一个图标。

【问题讨论】:

  • 如果您不通过 Unity 启动器启动,您的桌面条目将无效。您是通过终端启动吗?
  • 啊。我确实看到我在那里有Terminal=false。我是从别人那里复制的。我从终端启动它。最终它将是来自 C++ GUI 应用程序的系统调用,但本质上是来自终端。有没有另一种方法让它显示一个图标而不是问号?也许我可以在 python 脚本中做些什么?
  • Terminal=True 意味着当您从统一启动器启动它时,将打开一个终端来运行应用程序。您可以查看桌面条目的语法here 但是,在这种情况下,桌面条目对您没有帮助。我会看看我能找到什么,但第一件事是第一件事,我想让你摆脱那条红鲱鱼的踪迹
  • 非常感谢。谢谢。
  • 你能展示一些你的代码吗?您使用的 UI 工具包很重要

标签: python ubuntu


【解决方案1】:

我已经为 pyqtgraph 示例模块设置了一个新图标。我编辑了pyqtgraph.examples.__main__.py,它在你给python -m pyqtgraph.examples的示例中运行

为了给应用程序一个图标,你需要给你的 QApplication 一个窗口图标。在这种情况下,我将 'icon.png' 放在我的路径中并编辑了模块的 ma​​in.py 文件

的 run() 函数
def run():
    app = QtGui.QApplication([])
    loader = ExampleLoader()
    app.setWindowIcon(QtGui.QIcon('icon.png') # This is the only new line
    app.exec_()

启动后,您会在 ubuntu 任务栏中看到相应的图标。如果您遇到其他细节问题,即查找图标的路径等...您可以查看 QT 5 文档here

【讨论】:

  • 我不敢相信它这么简单。这正是我一直在寻找的。非常感谢您抽出宝贵时间对此进行调查。
猜你喜欢
  • 1970-01-01
  • 2014-08-22
  • 2020-10-31
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
  • 2016-08-17
相关资源
最近更新 更多