【问题标题】:Tkinter Text And PrintingTkinter 文本和打印
【发布时间】:2013-05-27 11:45:51
【问题描述】:

我遇到了 Python 的 Tkinter 模块的问题。当我尝试制作画布时,它不会出现,直到外壳打印完成。我的代码如下所示:

from tkinter import *
import time
tk = Tk()
canvas = Canvas(tk, width=500, height=500)
canvas.pack()
money = 500
canvas.create_text(100, 30, text="Money: " + str(money), font=('Impact', 25))
time.sleep(2)
print("Give Me A Chance To Load")
time.sleep(4)
buy = input("Will You Buy A Cow?")
if buy == "Yes":
    money -= 50
if buy == "No":
    money -= 999999999999999999999

这个程序应该更新画布上的钱。问题是在您回答输入之前画布不会出现并且钱仍然是 500。我做错了什么?

【问题讨论】:

    标签: python canvas printing tkinter


    【解决方案1】:

    您正在呼叫time.sleep(...)。你知道那是做什么的吗?它会导致你的程序——你的整个程序——休眠。当它处于睡眠状态时,它不能做其他事情,例如将自己绘制到屏幕上。

    此外,在事件循环运行之前,无法绘制 GUI(几乎可以使用任何工具包)。是事件循环响应“请求绘制”事件导致屏幕上出现一个窗口。

    Tkinter 并非设计用于处理来自控制台的输入。尝试这样做几乎总是会让人失望。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      相关资源
      最近更新 更多