為什么 winfo_interps 總是回傳一個空元組?
該檔案指出:
回傳一個串列,其成員是當前為特定顯示注冊的所有 Tcl 解釋器(例如所有基于 Tk 的應用程式)的名稱。如果給出 -displayof 選項,則回傳值是指視窗的顯示;否則是指應用程式主視窗的顯示。
源代碼是:
def winfo_interps(self, displayof=0):
"""Return the name of all Tcl interpreters for this display."""
args = ('winfo', 'interps') self._displayof(displayof)
return self.tk.splitlist(self.tk.call(args))
雖然 displayof 和 splitlist 在其他呼叫中起作用,但這個不起作用。我認為它與 tcl 解釋器有關。我在 python 3.10 和 tkinter 8.6.12 的 Windows 11 下運行以下代碼
import tkinter as tk
root = tk.Tk()
inps = tk.Tcl()
print(root.winfo_interps())
root.mainloop()
uj5u.com熱心網友回復:
在 Windows 上,該值確實總是空的。這是對的; 該平臺不支持其背后的 IPC 機制(由于與幾十年前 Windows 安全狀態相關的技術和歷史政策原因)。有各種替代解決方案(例如 OLE 或 COM 或基于套接字的東西),但默認情況下都沒有啟用,并且在發現時都有些煩人。我不太了解 Python 解決方案的空間。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512051.html
上一篇:僅在一側向文本小部件添加內部填充
下一篇:未解決的參考“Tk”?[復制]
