Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在tcl/tk中的gui上显示对象的名称_Tcl_Tk - Fatal编程技术网

在tcl/tk中的gui上显示对象的名称

在tcl/tk中的gui上显示对象的名称,tcl,tk,Tcl,Tk,如何在gui上获取/显示objectvariable名称 这是对象名框 当我点击它时,它会在一个文本框中或用鼠标指针显示它的名字。怎么可能呢?请帮帮我。我不确定你到底在做什么,或者你想发生什么 我假设您已经创建了一个canvas.c1,您已经成功地将其显示在某个顶级窗口中,并且您希望在用户单击您创建的矩形的边框时做出响应 在这种情况下,需要为单击项目指定绑定 .c1 bind $frame <button-1> {puts stdout "The frame has been cli

如何在gui上获取/显示objectvariable名称

这是对象名框


当我点击它时,它会在一个文本框中或用鼠标指针显示它的名字。怎么可能呢?请帮帮我。

我不确定你到底在做什么,或者你想发生什么

我假设您已经创建了一个canvas.c1,您已经成功地将其显示在某个顶级窗口中,并且您希望在用户单击您创建的矩形的边框时做出响应

在这种情况下,需要为单击项目指定绑定

.c1 bind $frame <button-1> {puts stdout "The frame has been clicked"}

这将显示帧已被。。。如果用户将鼠标悬停在框架的边框上。

在GUI中显示可变字符串的最简单方法是使用设置了-textvariable选项的标签。然后您只需设置一个变量,字符串就会出现

要响应单击,画布项应绑定事件处理程序脚本。要绑定到的最常见的事件通常是为主鼠标按钮编写的,以及处理鼠标所覆盖内容的跟踪的。当前画布标记跟踪当前项目(如果有)

结合这些:

pack [canvas .c1]
# make some items here...
.c1 create rectangle 50 50 200 200 -width 4 -outline "red"
# ...

pack [frame .f1 -textvariable msg]
.c1 bind all <1> {set msg "Click on %W:[%W finditem current]"}
.c1 bind all <Enter> {set msg "Entered %W:[%W finditem current]"}
.c1 bind all <Leave> {set msg ""}
在进行此实验时,请确保检出完全透明的项目,尤其是完全透明的多边形。它们对于定义用户看不见的热点区域非常有用,这是一种非常有用的技术,尤其是当它们被放在其他几个可见的项目之上时

tooltip::tooltip .c1 -items $frame "The frame has been hovered over"
pack [canvas .c1]
# make some items here...
.c1 create rectangle 50 50 200 200 -width 4 -outline "red"
# ...

pack [frame .f1 -textvariable msg]
.c1 bind all <1> {set msg "Click on %W:[%W finditem current]"}
.c1 bind all <Enter> {set msg "Entered %W:[%W finditem current]"}
.c1 bind all <Leave> {set msg ""}