使功能第一次使用Tkinter单击后只能运行一次吗?

杰克

在tkinter,python中,我试图创建一个程序,该程序涉及在画布上创建形状并单击按钮,从而不再创建其他形状。这是我的代码:

from tkinter import *

root = Tk()
canvas = Canvas(root)  # Creating Canvas
canvas.pack()

def create(event):
    x1, y1 = (event.x - 5), (event.y - 5)
    x2, y2 = (event.x + 5), (event.y + 5)         # Creates Rectangle Where Button Clicked
    canvas.create_rectangle(x1,y1,x2,y2,fill='red')

root.bind_all("<Button-1>", create)  # Binds Mouse Click Button


citybg = PhotoImage(file= r"example.png") 
citybgimage = canvas.create_image(50, 50, image=citybg) # Background for Canvas

我的问题是如何使矩形仅能一次创建一次,并且该create函数无法再执行。希望这个问题能得到很好的解释,我希望它能得到很好的回答。

多佐·希格斯(Dozon Higgs)

好吧,一个简单的解决方案(但不是那么漂亮)将是添加一个布尔标志,该标志在函数首次运行时将被设置为True。然后使用if语句返回,如果为True,则在create中不做任何事情。

像这样的东西(createRan-是那个布尔标志):

root = Tk()
canvas = Canvas(root)  # Creating Canvas
canvas.pack()
createRan = False


def create(event):
    if(createRan):
        return
    else:
        createRan=True
        x1, y1 = (event.x - 5), (event.y - 5)
        x2, y2 = (event.x + 5), (event.y + 5)         # Creates  Rectangle Where Button Clicked
        canvas.create_rectangle(x1,y1,x2,y2,fill='red')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

vim功能只能在第一次正常运行

来自分类Dev

@keyframes动画只能在第一次使用

来自分类Dev

CSS动画只能在第一次使用

来自分类Dev

第一次单击后不起作用

来自分类Dev

第一次单击后禁用按钮

来自分类Dev

第一次单击后禁用JButton

来自分类Dev

单击ul> li只能在第一次使用

来自分类Dev

第一次链接功能

来自分类Dev

部分应用的功能只能在第一次使用。

来自分类Dev

一次只能运行一次该功能

来自分类Dev

第一次运行jstree

来自分类Dev

第一次使用 tkinter,未知错误:TclError

来自分类Dev

第一次执行后,Visual Studio无法运行功能

来自分类Dev

该功能只能运行一次

来自分类Dev

第一次单击后如何使用AJAX / JQUERY和PHP使按钮可重用

来自分类Dev

第一次使用Mockito

来自分类Dev

Laravel - 第一次使用

来自分类Dev

jQuery On Click要求在第一次单击后两次单击

来自分类Dev

jQuery函数只能在第一次单击时正常工作

来自分类Dev

Greasemonkey会在第一次加载然后间隔一定时间单击一次按钮吗?

来自分类Dev

Javascript-onchange函数只能在html select中使用一次(第一次更改后)

来自分类Dev

jQuery,如何检查是否已加载类。然后将功能更改为在第一次单击后隐藏

来自分类Dev

用户在第一次单击后应关闭表单时可以多次单击按钮

来自分类Dev

如果单击函数中的语句在第一次单击后无法按预期工作

来自分类Dev

第一次单击后是否可以更改 iFrame 样式(不在同一域中)

来自分类Dev

第一次单击按钮很慢

来自分类Dev

UISearchController searchBar在第一次单击时消失

来自分类Dev

函数在第一次单击时未执行

来自分类Dev

jQuery单击事件仅在第一次工作

Related 相关文章

热门标签

归档