【问题标题】:How to set system tray title when hovering over app icon悬停在应用程序图标上时如何设置系统托盘标题
【发布时间】:2019-02-14 20:38:57
【问题描述】:

我想更改我的应用图标的悬停标题;这样,在下图中,它读取的是“FOO”而不是“python”。我正在展示我用来导入应用程序图标的代码,并且正在考虑是否有办法,它必须是下面的一个衬里。有人知道吗?

if __name__ == '__main__':

    app = QtGui.QApplication.instance()
    if app is None:
        app = QtGui.QApplication([])

    # set app icon for tray:
    pyDir = os.path.dirname(os.path.abspath(__file__)) #python file location
    iconDir = os.path.join(pyDir, 'icons')
    app_icon = QtGui.QIcon()
    app_icon.addFile(os.path.join(iconDir, '256x256.png'), QtCore.QSize(256,256))
    app.setWindowIcon(app_icon)
    #should be a one-liner here?? app.setWindowIconTitle, etc?

    w = MainWindow()
    sys.exit(app.exec_())

图片:

【问题讨论】:

    标签: python pyqt


    【解决方案1】:

    尝试如下设置应用名称:

    QCoreApplication.setApplicationName('FOO')
    

    您还可以为窗口添加标题,例如:

    import sys
    
    from PyQt5 import QtGui, QtCore
    from PyQt5.QtWidgets import QMainWindow, QApplication
    
    if __name__ == '__main__':
    
        app = QApplication([])
    
        # set app icon for tray:
        pyDir = os.path.dirname(os.path.abspath(__file__))
        iconDir = os.path.join(pyDir, 'icons')
        app_icon = QtGui.QIcon()
        app_icon.addFile(os.path.join(iconDir, '256x256.png'), QtCore.QSize(256,256))
        app.setWindowIcon(app_icon)
    
        w = QMainWindow()
        w.setWindowTitle("FOO")
    
        w.show()
        sys.exit(app.exec_())
    

    【讨论】:

    • 感谢@Isma,但我似乎无法让它在 macOS pyqt4 上运行......我也尝试过 app.setApplicationName("FOO")QtGui.qApp.setApplicationName("FOO")QtCore.QCoreApplication.setApplicationName("FOO") 都独立...... . 没有错误,但也不会更改文本。
    • 是的,你是对的,在Mac上还是不行,看来你生成包的时候必须这样做stackoverflow.com/questions/7827430/…
    • 哎呀,真不幸。我会接受你的回答,但对于其他人来说,请注意这是非 Mac 解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    相关资源
    最近更新 更多