使用 wxpython 编写剪贴板管理器?

发布于 2024-12-29 04:19:32 字数 164 浏览 1 评论 0原文

当前状态:我有一个托盘图标,两个上下文菜单 - 一个用于“关于”/“选项”/“退出”/等。右键单击和左键单击均可进行剪贴板管理。

我不确定的一件事是如何同步剪贴板内容 - 我掌握了如何从剪贴板读取数据和向剪贴板写入数据,但我不知道如何检测更改(或者我应该定期检查?)。

你会怎么做?

Current state: I have a tray icon, two context menus - one for about/options/exit/etc. on right-click and one on left-click for clipboard management.

One thing I'm not sure of is how to sync clipboard contents - I grasped how to read and write data from/to clipboard, but I don't know how to detect changes(or should I check periodically?).

How would you do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫腻 2025-01-05 04:19:32

如果我错了,请任何人纠正我,但据我认为唯一的实施方法是轮询。

我还尝试查看著名剪贴板管理器之一的源代码 http://parcellite.sourceforge.net/

我在那里找到了代码的平静。

  /* Add the daemon loop */
  timeout_id = g_timeout_add_full(G_PRIORITY_LOW,
                                  DAEMON_INTERVAL,
                                  (GSourceFunc)daemon_check,
                                  NULL,
                                  (GDestroyNotify)reset_daemon);

在头文件中,DAEMON_INTERVAL 被定义为 500。因此,它每 500 毫秒检查一次。

Anyone please correct me if I am wrong but as far as I think the only way to implement is polling.

I also tried looking at the source code one of the famous clipboard manager http://parcellite.sourceforge.net/.

I found this peace of code in that.

  /* Add the daemon loop */
  timeout_id = g_timeout_add_full(G_PRIORITY_LOW,
                                  DAEMON_INTERVAL,
                                  (GSourceFunc)daemon_check,
                                  NULL,
                                  (GDestroyNotify)reset_daemon);

And in the header file, DAEMON_INTERVAL is defined as 500. So, it checks after every 500 milliseconds.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文