Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. QCoreApplication::exec: The event loop is already running
  2. File "systray_icon_NumLk_on_off.py", line 21, in on_key_press
  3. main(on)
  4. File "systray_icon_NumLk_on_off.py", line 46, in main
  5. sys.exit(app.exec_())
  6. SystemExit: -1
  7.  
  8. #####get the state of NumLk key
  9. from win32api import GetKeyState
  10. from win32con import VK_NUMLOCK
  11. #how to use: print(GetKeyState(VK_NUMLOCK))
  12. #source: http://stackoverflow.com/questions/21160100/python-3-x-getting-the-state-of-caps-lock-num-lock-scroll-lock-on-windows
  13.  
  14. #####Detect if NumLk is pressed
  15. import pyglet
  16. from pyglet.window import key
  17. window = pyglet.window.Window()
  18. #source: http://stackoverflow.com/questions/28324372/detecting-a-numlock-capslock-scrlock-keypress-keyup-in-python
  19.  
  20. on=r'on.png'
  21. off=r'off.png'
  22.  
  23. @window.event
  24. def on_key_press(symbol, modifiers):
  25. if symbol == key.NUMLOCK:
  26. if GetKeyState(VK_NUMLOCK):
  27. #print(GetKeyState(VK_NUMLOCK))#should be 0 and 1 but
  28. main(on)
  29. else:
  30. main(off)
  31. @window.event
  32. def on_draw():
  33. window.clear()
  34.  
  35. ### display icon in systray
  36. import sys
  37. from PyQt5 import QtCore, QtGui, QtWidgets
  38. #source: http://stackoverflow.com/questions/893984/pyqt-show-menu-in-a-system-tray-application - add answer PyQt5
  39. class SystemTrayIcon(QtWidgets.QSystemTrayIcon):
  40.  
  41. def __init__(self, icon, parent=None):
  42. QtWidgets.QSystemTrayIcon.__init__(self, icon, parent)
  43. menu = QtWidgets.QMenu(parent)
  44. exitAction = menu.addAction("Exit")
  45. self.setContextMenu(menu)
  46.  
  47. def main(image):
  48. app = QtWidgets.QApplication(sys.argv)
  49.  
  50. w = QtWidgets.QWidget()
  51. trayIcon = SystemTrayIcon(QtGui.QIcon(image), w)
  52.  
  53. trayIcon.show()
  54. sys.exit(app.exec_())
  55.  
  56. if __name__ == '__main__':
  57. pyglet.app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement