Closed wwj718 closed 5 years ago
scratch link使用native方案,所以可以使用系统特性(小图标是系统特性)
如果要实现这个功能,有两个思路,其一是依赖于一个强大的UI库,来提供跨平台的支持。目前我在qt(pyqt5)中似乎没看到这个支持。
方案二是使用python包装过的系统库,如pywin32(Windows)、pyobjc(Mac)
目前我使用pyobjc完成在mac上的图标功能了。源码一时找不到,等我找到之前的实验代码,我贴过来。
我找到之前的一些笔记
from AppKit import NSStatusBar
status_item = NSStatusBar.systemStatusBar().statusItemWithLength_(-1) #NSVariableStatusItemLength
status_item.setImage_(<NSImage instance to status icon>)
在windows下,这个功能名字叫Tray Icon
, 在关键字的帮助下,Google到QT对其提供了支持!
https://doc.qt.io/archives/qt-4.8/qt-desktop-systray-example.html
linux考虑 https://github.com/martinohanlon/shortcut 帮助启动
scratch link使用native方案,所以可以使用系统特性(小图标是系统特性)
如果要实现这个功能,有两个思路,其一是依赖于一个强大的UI库,来提供跨平台的支持。目前我在qt(pyqt5)中似乎没看到这个支持。
方案二是使用python包装过的系统库,如pywin32(Windows)、pyobjc(Mac)
目前我使用pyobjc完成在mac上的图标功能了。源码一时找不到,等我找到之前的实验代码,我贴过来。
用pyqt5 这个库加个小图标,挺简单的你看这个链接。 我感觉就这一次迁移框架的时候,就添加tray icon的代码就好了。 链接
按道理,pyqt5 应该是跨平台的,我刚刚在windows,mac上测试过了上面链接里的代码,运行成功了。
@bilikyar 太棒了
@wangshub
@wwj718 Copy,Pyqt5 做这个再好不过了 😋
bilikyar在微信中提到:
我把我的思考贴过来, 用这个issue跟进这块的工作