Skip to content

v2.4

Choose a tag to compare

@duma520 duma520 released this 12 May 03:41
· 7 commits to main since this release
de9e49a

版本更新内容简介

主要变更 (2.4 版本相对于 2.3 版本)

  1. 图标支持增强

    • 添加了窗口图标设置功能,优先使用 icon.ico,如果不存在则使用 icon.png 作为备用图标
    • 更新了托盘图标设置逻辑,同样支持 .ico 和 .png 两种格式
  2. 代码优化

    • 在 __init__ 方法中添加了窗口图标设置代码
    • 改进了 setup_tray_icon 方法,使其更健壮地处理图标文件
  3. 非破坏性修改

    • 所有修改都是添加性而非破坏性的,不会影响现有功能
    • 新增的图标处理逻辑有完善的回退机制,不会因为缺少图标文件导致程序崩溃

具体代码变更

  1. 在 MouseClickSimulator 类的 __init__ 方法中添加了以下代码:
# 设置窗口图标
if os.path.exists("icon.ico"):
    self.setWindowIcon(QIcon("icon.ico"))
elif os.path.exists("icon.png"):  # 备用图标
    self.setWindowIcon(QIcon("icon.png"))
  1. 更新了 setup_tray_icon 方法:
def setup_tray_icon(self):
    if not QSystemTrayIcon.isSystemTrayAvailable():
        return
  
    self.tray_icon = QSystemTrayIcon(self)

    # 设置托盘图标,优先使用 .ico,其次尝试 .png
    if os.path.exists("icon.ico"):
        self.tray_icon.setIcon(QIcon("icon.ico"))
    elif os.path.exists("icon.png"):
        self.tray_icon.setIcon(QIcon("icon.png"))
    else:
        # 如果没有找到图标文件,使用默认图标
        self.tray_icon.setIcon(self.style().standardIcon(QStyle.SP_ComputerIcon))
  1. 在 if __name__ == "__main__": 部分添加了应用程序图标设置:
# 设置应用程序图标
if os.path.exists("icon.ico"):
    app.setWindowIcon(QIcon("icon.ico"))
elif os.path.exists("icon.png"):
    app.setWindowIcon(QIcon("icon.png"))

这些变更使得程序现在能够更好地支持自定义图标,同时保持向后兼容性。如果用户没有提供任何图标文件,程序会继续使用默认图标运行。