有沒有辦法知道什麼是Tk部件的「類型」?尋找一個Tk部件的類型
舉一個例子,假設我使用tk::label
命令或ttk::label
命令創建標籤。
之後,我只有部件的路徑名稱,例如.l
。現在,我想知道用於構建.l
的命令是什麼。
我需要的是一個綱領性的解決方案,一些代碼,鑑於.l
路徑可以返回命令的名字,我很感興趣的Tcl解決方案,或C.
編碼甚至Tcl擴展一種方法可能是重命名所有小部件創建命令,並將proc保存在某個地方,然後執行原始命令將執行的操作,但此解決方案要求您知道所有可用的小部件創建命令,不要考慮用戶定義的小部件(或整體的巨型小部件)。
非常感謝您的幫助。
不,沒有完美的解決方案。在這類事情發生之後,大多數人都試圖進行GUI序列化,而從應用程序的角度而不是工具箱的角度來看,這更好地在更高層次上完成。 Tk內部使用了相當多的小部件,你可能不想攔截。 – 2013-03-10 17:32:25
謝謝Donal,像往常一樣精確:)但是,不,我沒有遵循GUI序列化路徑。我只是在考慮使用Tcl/Tk的大型GUI編程,以及處理這種複雜性的方法。 – 2013-03-10 18:41:34
@Marco好的,我們並不完全符合你的要求。大部分情況下,我懷疑圍繞小部件包裝類然後記住這個級別的事情會更容易。例如,你記得你彈出一個特定消息的窗口,而不是這個對話框是如何構建或佈局的。 – 2013-03-11 10:07:04