【问题标题】:How to get the HWND of a Tkinter window on Windows?如何在 Windows 上获取 Tkinter 窗口的 HWND?
【发布时间】:2017-05-27 15:32:58
【问题描述】:

如何在windows上获取python3中Tkinter窗口的HWND

  • 如果可能,我想获取 Tkinter 窗口的本机窗口句柄。
  • 我需要窗口的HWNDHDC 来执行自定义绘图操作。

有没有办法获取CanvasHWND 或任何其他子组件?

有一种方法可以列出当前进程创建的所有窗口。我还可以遍历前面列出的任何窗口的子窗口。这将是问题的丑陋的解决方案

如果 Tkinter 不直接暴露句柄,请发布任何替代解决方案。

【问题讨论】:

    标签: python-3.x windows tkinter tkinter-canvas


    【解决方案1】:

    我相信您需要的是 TopLevel 窗口方法。

    看看这个link

    frame() [#]
    返回一个字符串,其中包含对应于窗口最外层父级的系统特定窗口标识符。对于 Unix,这是 X 窗口标识符。对于 Windows,这是将 HWND 强制转换为长整数。

    还有关于获取 HWND here.的其他信息

    winfo_id() [#]
    获取此小部件的系统特定窗口标识符。对于 Unix,这是 X 窗口标识符。对于 Windows,这是将 HWND 强制转换为长整数。

        返回:
    窗口标识符。

    我相信使用上面的winfo_id(),你应该可以得到窗口的HWND。

    【讨论】:

    • 太好了,我可以用ModernGL 渲染到 tkinter 窗口。
    猜你喜欢
    • 2020-02-03
    • 2013-07-13
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 2020-10-22
    • 2011-01-21
    相关资源
    最近更新 更多