- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
使用 QSystemTrayIcon
对象,我如何确定它当前是否被单击?另外,我如何确定用户何时单击了托盘图标及其关联菜单?我认为这涉及安装事件过滤器?
我想显示 UI,但我只想在托盘图标当前未激活时显示它,这意味着其关联的托盘图标未获得焦点。因此,我可以使用 activated
信号来确定何时有人点击了它,但如何确定它何时不再处于事件状态?
我正在使用 python 2.7.3 和 PyQt5
最佳答案
QSystemTrayIcon
中有一个名为 activated
的信号,将原因传递给其连接的插槽。我为您创建了一个简单的示例:
from PyQt4 import QtGui
import sys
class Window(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
icon = QtGui.QSystemTrayIcon(self)
icon.setIcon(QtGui.QIcon(r"path/to/icon.png"))
icon.show()
icon.activated.connect(self.systemIcon)
def systemIcon(self, reason):
if reason == QtGui.QSystemTrayIcon.Trigger:
print 'Clicked'
if __name__ == "__main__":
application = QtGui.QApplication(sys.argv)
win = Window()
win.show()
sys.exit(application.exec_())
您可以将QSystemTrayIcon.Trigger
更改为QSystemTrayIcon.DoubleClick
、QSystemTrayIcon.Context
、QSystemTrayIcon.MiddleClick
,如果您需要这些事件。
关于python - QSystemTrayIcon 判断它是否被点击或处于焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23375676/
使用 Kubuntu 18.04 (qt5 5.9.5)、Python 3.6。我无法让此代码显示托盘图标;显示了 Dropbox 等其他图标,但这不是: import sys from PyQt5.
正如标题所说,如果我制作一个系统托盘图标,它可以选择通过那里打开另一个对话框(例如首选项),当我关闭另一个对话框时,整个应用程序将在我调用时关闭这个>关闭();从那个首选项对话框。拿这个例子代码: m
我已将 QSystemTrayIcon::ActivationReason 连接到我的“handleClick”插槽,如下所示 connect(tray,SIGNAL(activated(QSyste
有类似的问题,但他们没有解决我的问题。 我只有一个简单的 MainWindow 类,它会在启动时显示。构造函数包含以下代码: QWidget* centralWidget = new QWidget(
使用 QSystemTrayIcon 对象,我如何确定它当前是否被单击?另外,我如何确定用户何时单击了托盘图标及其关联菜单?我认为这涉及安装事件过滤器? 我想显示 UI,但我只想在托盘图标当前未激活时
我正在创建托盘图标应用程序,我想创建高级上下文菜单,如下图所示,但我只知道如何创建简单的菜单 QMenu* menu = new QMenu() menu->addAction(QIcon(), "i
如何在QSystemTrayIcon的消息显示时禁用或启用声音?它必须只启用或禁用消息的声音。谢谢... 最佳答案 您必须自己发出通知,因为 Qt 不提供此类功能(如果我们谈论的是 QSystemTr
当我运行并退出我的应用程序时,它会在托盘中留下太多托盘图标,而不是只有一个。我还设置了我的应用程序,因此一次只能实例化一个实例,但在程序启动和退出几次后,系统托盘似乎容纳了所有图标,当我将鼠标悬停在它
我有一个名为 StatusIcon 的类,它扩展了 QSystemTrayIcon。我想设置它,所以右键单击打开上下文菜单,左键单击打开一个窗口。 目前默认行为似乎是左键和右键单击打开上下文菜单。 我
我编写了一个小程序来在合成器(xfwm4、dcompmgr、cairo-compmgr)之间切换,以帮助解决 nVidia 可能遇到的视频撕裂问题。它在系统托盘中创建一个具有其操作的图标。问题是当我运
我有一个简单的 PyQt5 应用程序,这只是一个例子,并没有做任何事情: #!/usr/bin/env python # -*- encoding: utf-8 -*- import sys from
我曾尝试在 PySide6 文档中搜索有关 QMenu 和 QSystemTray 类的信息,但无法找到有关从函数向上下文菜单添加操作的任何信息。这是我尝试过的代码: from PySide6.QtW
import sys from PyQt5.QtWidgets import QSystemTrayIcon, QApplication, QMenu from PyQt5.QtGui import
我试图在 PyQT5 程序中单击系统托盘图标时打印文本。我尝试将 PyQT5 QSystemTrayIcon 激活信号(单击系统托盘图标时发出)连接到自定义方法,但未调用该方法。这是一个简单的例子:
我正在使用 Pyqt,但是 C++ 代码很好。我正在尝试使用 Linux (Ubuntu 11.10) 中的 QT 框架更改 QSystemTrayIcon 中的菜单项。目前我已尝试重置我最初设置的
即使正在执行activated插槽,菜单仍然没有显示。我通过手动点击托盘图标和模拟点击进行了追踪,其执行逻辑是相同的。 目前我有 class MyClass(QObject): def __in
我似乎找不到任何关于此的信息。但是很多 kde 应用程序使用动画图标。 据我所知,将 gif 设置为 QIcon 是行不通的,因为只会显示第一帧。 最佳答案 我没有尝试过,但每隔几毫秒设置一个新图标可
我正在编写应用程序,托盘类中有奇怪的错误。在我的类里面,我使用 QSystemTrayIcon 之类的 tray = new QSystemTrayIcon(this); tray->setIco
我有一个 QSystemTrayIcon 子类。在里面,我有: quitAction = new QAction(tr("&Quit"), m_parent); connect(quitAction,
我在 Mac 和 Linux 上遇到了 QSystemTrayIcon 类的问题。 我制作了一个创建系统托盘图标的程序,在 Windows 上没有问题,但在 Linux(ubuntu 12)和 Mac
我是一名优秀的程序员,十分优秀!