如何在Tkinter中“打印”控制台日志?

莱昂纳多·埃切维里亚

我读过一些类似的问题,但我认为它们不能回答我的问题。

单击GUI中的“运行”按钮后,我有一个基本代码可以计数到10:

from tkinter import *
from time import sleep

def count_to_10():
    for i in range(1,11):
        sleep(0.5)
        print(i)
        counter_label.after(0, counter_label.config(text=i))
    return

def GUI():
    root = Tk()

    run_button = Button(root, text="run", command=count_to_10)
    run_button.pack()

    global counter_label
    counter_label = Label(root, text="counter")
    counter_label.pack()

    root.mainloop()

GUI()

我希望函数counter_label每次迭代后文本从1变为10 count_to_10当函数返回时,标签会更改,不是在运行时。

控制台输出:

1
2
3
4
5
6
7
8
9
10

标签更改:

功能结束后,标签仅更改一次至10。

同样的结果也适用于诸如此类的其他小部件scrolledtext, Text,

函数运行时如何更改标签(或任何与文本相关的小部件)?

谢谢你的帮助!

PS:有点像在GUI上有控制台输出。

米兰巴拉兹

您不需要使用该x.after()方法。只需使用configorconfigure方法。像这样:counter_label.configure(text=i)然后您应该让root用以下行来更新主窗口:root.update()(root应该是全局的或作为参数传递)。

完整的代码:

from tkinter import *
from time import sleep


def count_to_10():
    for i in range(1, 11):
        sleep(0.5)
        print(i)
        counter_label.configure(text=i)  # Update the text in "Label" widget.
        root.update()  # Let root update the main window.


def GUI():
    global root
    root = Tk()

    run_button = Button(root, text="run", command=count_to_10)
    run_button.pack()

    global counter_label
    counter_label = Label(root, text="counter")
    counter_label.pack()

    root.mainloop()


GUI()

GUI:

GUI

控制台输出:

>>> python3 test.py 
1
2
3
4
5
6
7
8
9
10

注意:

您的Label仅更改了一次(计数器为10时),因为root它无法更新,并且在count_to_10函数返回后(for循环之后更新了它,当然最后一个数字是10

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在反应式Android中打印控制台日志?

来自分类Dev

如何在此功能中添加控制台日志?

来自分类Dev

如何在 Firebug 中显示过去的控制台日志?

来自分类Dev

如何在Intellij中的控制台上打印日志?

来自分类Dev

Java:如何在控制台和文件中打印控制台的每个输出?

来自分类Dev

如何在Xcode中向控制台打印内容?

来自分类Dev

如何在控制台/虚拟终端上禁用消息或日志记录以进行打印?

来自分类Dev

在控制台日志中打印数组内容

来自分类Dev

打印 shell 脚本的控制台日志

来自分类Dev

如何在Eclipse上禁用控制台日志

来自分类Dev

如何在 Kibana 后端显示控制台日志?

来自分类Dev

如何在Xamarin.iOS自己的应用程序中捕获控制台日志输出?

来自分类Dev

开发期间如何在VUE-CLI中启用控制台日志

来自分类Dev

MyFaces:如何在控制台日志中显示错误消息

来自分类Dev

如何在php和codeception中输出浏览器控制台日志

来自分类Dev

如何在控制台日志中查看所选选项与其他选项的组合?

来自分类Dev

如何在控制台日志中为多个值设置断行

来自分类Dev

如何清空Webkit中的控制台日志?

来自分类Dev

如何使用Sails在控制台日志中显示查询?

来自分类Dev

如何使用Sails在控制台日志中显示查询?

来自分类Dev

如何在控制台打印从D3的功能

来自分类Dev

如何在restassured中输出日志,我想在我的报告中显示日志。不在控制台窗口中

来自分类Dev

如何在Java的控制台输出中打印带下划线的字符串

来自分类Dev

如何在控制台应用程序C#中打印值

来自分类Dev

如何在PySpark程序中打印变量或数据框以进行控制台?

来自分类Dev

如何在WatchOS 6中将Crown输入打印到控制台

来自分类Dev

如何在Pycharm / Intellij中打印到JavaScript控制台

来自分类Dev

如何在Pygame中打印按到控制台的特定键?

来自分类Dev

如何在iPad上的Swift Playgrounds中打印到控制台?

Related 相关文章

  1. 1

    如何在反应式Android中打印控制台日志?

  2. 2

    如何在此功能中添加控制台日志?

  3. 3

    如何在 Firebug 中显示过去的控制台日志?

  4. 4

    如何在Intellij中的控制台上打印日志?

  5. 5

    Java:如何在控制台和文件中打印控制台的每个输出?

  6. 6

    如何在Xcode中向控制台打印内容?

  7. 7

    如何在控制台/虚拟终端上禁用消息或日志记录以进行打印?

  8. 8

    在控制台日志中打印数组内容

  9. 9

    打印 shell 脚本的控制台日志

  10. 10

    如何在Eclipse上禁用控制台日志

  11. 11

    如何在 Kibana 后端显示控制台日志?

  12. 12

    如何在Xamarin.iOS自己的应用程序中捕获控制台日志输出?

  13. 13

    开发期间如何在VUE-CLI中启用控制台日志

  14. 14

    MyFaces:如何在控制台日志中显示错误消息

  15. 15

    如何在php和codeception中输出浏览器控制台日志

  16. 16

    如何在控制台日志中查看所选选项与其他选项的组合?

  17. 17

    如何在控制台日志中为多个值设置断行

  18. 18

    如何清空Webkit中的控制台日志?

  19. 19

    如何使用Sails在控制台日志中显示查询?

  20. 20

    如何使用Sails在控制台日志中显示查询?

  21. 21

    如何在控制台打印从D3的功能

  22. 22

    如何在restassured中输出日志,我想在我的报告中显示日志。不在控制台窗口中

  23. 23

    如何在Java的控制台输出中打印带下划线的字符串

  24. 24

    如何在控制台应用程序C#中打印值

  25. 25

    如何在PySpark程序中打印变量或数据框以进行控制台?

  26. 26

    如何在WatchOS 6中将Crown输入打印到控制台

  27. 27

    如何在Pycharm / Intellij中打印到JavaScript控制台

  28. 28

    如何在Pygame中打印按到控制台的特定键?

  29. 29

    如何在iPad上的Swift Playgrounds中打印到控制台?

热门标签

归档