您可以通过以下方式将命令与窗口的 X 按钮绑定(bind):
wm protocol $windowPath WM_DELETE_WINDOW $command
我怎样才能对窗口的最大化按钮做同样的事情?
最佳答案
在 X11 ICCCM set 中没有针对它的标准协议(protocol)或 FreeDesktop set .因此,wm protocol
不可能用于它。但是,您可以使用 <Configure>
跟踪窗口的所有 大小更改的事件。请注意,如果您将它设置在顶层,您还将收到该窗口内所有小部件的通知,因此您应该在操作之前检查该事件是否真的与顶层有关,也许像这样:
bind $toplvl <Configure> {
if {"%W" eq [winfo toplevel "%W"]} {
ActOnResize %W %w %h [wm attributes %W -zoomed]
}
}
您可能还想查看 -fullscreen
属性。
关于tcl - 如何捕捉 Tk 中的最大化信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643887/