当前位置: 首页 > 知识库问答 >
问题:

点击矩形时Python tkinter画布

卢伟志
2023-03-14

当我在tk画布上单击一个矩形时,我一直在尝试运行一个函数。

下面是代码:

from tkinter import *

window = Tk()

c = Canvas(window, width=300, height=300)

def clear():
    canvas.delete(ALL)

playbutton = c.create_rectangle(75, 25, 225, 75, fill="red")
playtext = c.create_text(150, 50, text="Play", font=("Papyrus", 26), fill='blue')

c.pack()

window.mainloop()

有人知道我该怎么做吗?

共有1个答案

濮阳祯
2023-03-14

您可以在要将事件绑定到的项目上添加标记
您想要在此处进行的活动是

from tkinter import Tk, Canvas

window = Tk()

c = Canvas(window, width=300, height=300)

def clear():
    canvas.delete(ALL)

def clicked(*args):
    print("You clicked play!")

playbutton = c.create_rectangle(75, 25, 225, 75, fill="red",tags="playbutton")
playtext = c.create_text(150, 50, text="Play", font=("Papyrus", 26), fill='blue',tags="playbutton")

c.tag_bind("playbutton","<Button-1>",clicked)

c.pack()

window.mainloop()

 类似资料:
  • 我正在使用以下链接中发布的示例: https://riptutorial . com/html 5-canvas/example/19666/a-transformation-matrix-to-track-translated-rotated-scaled-shape-s- 我正在尝试使用此示例,并对允许在画布上旋转2个矩形进行了一些修改。有几个问题(它们可能是相关的),但让我从一个问题开始:

  • 在HTML和JavaScript中,这应该是一个非常简单的任务。我有一个图标栏,目前有一个单一的可点击链接,新的框。在图标栏下面,我有一张画布。我的目标是在用户每次按下new Box按钮时,在画布上绘制一个新的矩形。 现在,我的图标栏和画布正确显示,我可以单击图标栏的“新建框”链接,但画布上没有出现矩形,尽管我已将其参数指定为:。 null null

  • 我试图创建一个画布,在其中我们可以绘制直线和矩形使用鼠标事件的功能选择的输入。 我将mousedown、mousemove和mouseup事件侦听器附加到画布DOM,并在选择行输入或矩形输入时使用适当的函数 但它什么也没有画出来。 null null

  • 我试图在现有画布中的特定框顶部添加一些红色矩形,与预期结果图像完全相同,但它们根本没有出现,因为我的代码显示了部署应用程序时当前不希望出现的结果。我的代码是在顶行和底行分别创建4个矩形,但我只想将其添加到框2-6的顶部,但我知道需要为框1顶部的红色矩形添加额外的代码 activity_main.xml MainActivity.java

  • 我正在尝试创建一个程序,该程序应该基于两次鼠标左键单击在画布上绘制一个矩形,并通过一次右键单击清除画布。 创建矩形的方式应该是,第一次鼠标点击模拟矩形的一个角,下一次鼠标点击与第一次鼠标点击相比模拟矩形的对角线角。 我被困在如何存储第一次鼠标点击的坐标,然后把第二次鼠标点击用好,因为每个定义的矩形只基于一组坐标创建,这是矩形的左上角。 现在,我的代码所做的只是绘制固定大小的矩形(50x25),这显

  • 问题内容: 我需要使tkinter矩形透明。有谁知道这是怎么做到的吗? 我尝试指定,并尝试在颜色代码的末尾添加两个数字。这些东西似乎都不起作用,我找不到正确的语法。 这段代码给了我这个信息:,所以显然这不是正确的方法。 问题答案: 您可以使用透明图像来模拟结果。使用创建透明的图像,然后用画它。下面是一个示例代码:

  • 本文向大家介绍使用canvas画出一个矩形相关面试题,主要包含被问及使用canvas画出一个矩形时的应答技巧和注意事项,需要的朋友参考一下

  • 我想在一段时间后改变矩形的颜色。 我试过根。after()方法,但它不起作用。 给定代码连续运行,根窗口挂起一定时间。矩形颜色应该在延迟2秒后改变。