【问题标题】:Python tkinter issue. Trouble with del commandPython tkinter 问题。 del 命令的问题
【发布时间】:2017-08-14 17:06:14
【问题描述】:

代码应该在按下UP键后变成红色椭圆,然后在一定时间后将其删除。然而,红色圆圈仍然存在。 关键是我想让这个圆圈在按下 UP 键后闪烁红色,然后回到绿色。我错过了什么?

#!/usr/bin/env python

import Tkinter
from Tkinter import Tk, Canvas, Frame, CENTER
import time

root = Tkinter.Tk()
root.geometry("300x200")
root.title("gui")

gpio_01 = "green"

def gpio_trigger_up(event):
    for i in range(2):
        print "Move Forward"
        time.sleep(0.1) 
    for i in range(1):    
        print "Stop"
        led_01 = gpio.create_oval(160,10,190,40, fill="red")
        return  led_01
        time.sleep(1)
        del led_01
        time.sleep(0.1)

gpio = Canvas()
textfont = "Helvetica"
gpio.create_oval(160,10,190,40, fill=(gpio_01))
gpio.pack()

root.bind("<Up>", gpio_trigger_up)

root.mainloop() 

【问题讨论】:

  • 您不使用del 删除画布项目,而是使用canvas.delete。 (我将其作为评论而不是答案发布,因为您的问题不像“用那一行替换这一行”那么容易解决。一般来说,Tkinter 与sleep 配合得不好,所以你需要进行一些广泛的重新设计(可能涉及root.after())以获得正确的延时行为)

标签: python tkinter tkinter-canvas del


【解决方案1】:

为什么要返回 led_01?它打破了功能。还有那行

del led_01

从未到达。删除return语句。

此外,您应该将删除行更改为

gpio.delete(led_01)

另外,很抱歉这是一个答案,我没有足够的代表发表评论。

【讨论】:

  • 我对代码做了一些修改,还是红圈0.5s没有红闪。
  • 'code'(def clear(): gpio.delete("all") print "delete all" return gpio.create_oval(160,10,190,40, fill=(gpio_01)) def gpio_trigger_up(事件):led_01_status = 1 如果 led_01_status > 0 打印“向前移动”:gpio.create_oval(160,10,190,40, fill="red") time.sleep(0.5) print led_01_status print "led_01 status is ON" led_01_status = 0如果 led_01_status == 0: clear() time.sleep(0.2) gpio = Canvas() gpio.create_oval(160,10,190,40, fill=(gpio_01)) gpio.pack() root.bind("" , gpio_trigger_up))'代码'
【解决方案2】:

这解决了我的问题:

def gpio_trigger_up(event):
    print "Move Forward"
    led_01 = gpio.create_oval(160,10,190,40, fill="red")
    gpio.update() 
    time.sleep(0.3)
    gpio.delete(led_01)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-23
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 2016-05-25
    • 2018-05-17
    相关资源
    最近更新 更多