【发布时间】:2021-12-27 20:15:47
【问题描述】:
如何获得 tkinter 窗口的句柄? 我试过了……
h = self._get_hwnd()
但它不起作用。我正在使用 Python IDLE Shell 3.10.1(操作系统:Windows 10)。
示例:
import tkinter as tk
root=tk.Tk()
root.title=("Test")
text1=tk.Text(root, height=10, width=50)
text1.insert(tk.INSERT,self._get_hwnd())
text1.pack()
root.mainloop()
【问题讨论】:
-
你从哪里得到
self,__get_hwnd是什么?顺便说一句,你的例子不起作用,据我测试tkinter提供的方法实际上并没有给出正确的句柄(在 Windows 上,但它可能对你有用) -
您也许可以使用问题Get HWND of each Window? 的答案中显示的一种技术找到它(不涉及使用
tkinter)。 -
@Matiiss:如果它对 OP 有效,他们就不会问这个问题了。
-
Matiiss - 我在 stackoverflow 中搜索并找到 self._get_hwnd() (不工作)。我的例子有效。尝试 text1.insert(tk.INSERT,"12345678") 和 tkinter 将打印 12345678。@martineau 我想找到 tkinter 自己的(主)窗口的句柄。我不是在寻找外国窗口。
-
链接问题的一些答案中的代码将找到 any 窗口的 HWND,无论它是否由 tkinter 创建。如果你给你的窗口一个独特的标题,你应该可以找到它。