【问题标题】:Tcl/Tk bind mouse click in toplevel barTcl/Tk 在顶层栏中绑定鼠标单击
【发布时间】:2017-11-19 15:25:21
【问题描述】:

我正在用 Tcl/Tk 开发一些应用程序,我想在我的 GUI 上添加一个函数来最小化窗口,使顶层留在屏幕的当前位置。 这张图更能说明我的想法。

当鼠标指针在栏中时(对不起,如果名称错误,但我不知道 GUI 那部分的技术名称)我按下鼠标按钮,窗口变为如下。

我在脚本中添加了这一行以进行测试

bind . <Button-3> "wm geometry . 200x1"

但这只能在顶层的框架区域中正常工作。我的问题是当鼠标正好在图形的位置时绑定事件。 有谁知道我该怎么做?

提前感谢您的帮助

【问题讨论】:

  • (这是一个“阴影”动作)。您可以查看 twapi 包,看看 Windows 是否有可以使用的 API。 bind . &lt;Configure&gt; 不捕获单击操作。
  • 当标题栏发生点击事件时,窗口管理器不会通知应用程序(根窗口)。有办法解决这个问题。一种方法是删除标题栏,然后自己创建一个自定义的。使用 wm 覆盖重定向。这有点涉及,因为现在您可能想要复制窗口管理器提供的所有不错的功能,例如调整窗口大小、关闭它、最小化等。您将失去所有这些提供的功能。但你确实实现了你的要求。

标签: tcl bind tk toplevel


【解决方案1】:

你不能做你想做的事。 Tk 对窗口管理器添加的装饰中发生的事情几乎没有控制权。简单地说,你不能处理发生在窗口边框或标题区域的事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多