如何显示“正在加载...”,然后在tkinter中单击按钮后运行脚本?

Christina Zhou

我想显示“正在加载...”,然后在用户等待时执行脚本。

我了解到画布只能在每个循环之后进行更新,并且在按钮命令被调用时画布被冻结。

我该如何解决?

当前,没有文本出现。成功文本不会出现。

import tkinter as tk
import main


root = tk.Tk()  # create GUI instance
root.title('Exam Closeout')  # name GUI

def run_script():
    '''
    Run the script from main, that is, the data script.

    :return: void
    '''
    # show loading status: currently doesn't work, need to understand queue better
    current_text = tk.StringVar()
    current_text.set('Loading...')
    tk.Label(root, textvariable=current_text).grid(row=4, column=1, sticky='w')
    subject = entry_1.get() # grab subject from user input
    try:
        # call main
        main.test(subject)
        # show finish status
        current_text.set('Script successfully finished. You may exit out of this window now')
    except Exception as e:   # catch exceptions. currently doesn't show specific exception
        current_text.set("Error occurred. Try looking at documentation")


# label with instructions
tk.Label(root, text="Thank you for using me...").grid(row=1, column=1, sticky='w')

# label to show users where to enter exam
tk.Label(root, text="Enter exam code:").grid(row=2, column=1, sticky='w')

# blank box to enter exam into
entry_1 = tk.Entry(root,width=40)   # entry has to be its own line - for more, see below
entry_1.grid(row=2, column=2, columnspan=2)

# button to run script
tk.Button(root,text="Run", command=run_script).grid(row=3, column=3)

# start canvas
root.mainloop()

main.py

import time

def test(exam):
    time.sleep(5)
    print(exam)

如果重要的话,main方法实际上是一个数据分析脚本,它接收数据框,对其进行操作并导出Excel数据集。

马蒂诺

update_idletasks()在下面指示的位置向通用窗口小部件方法添加调用

def run_script():
    '''
    Run the script from main, that is, the data script.

    :return: void
    '''
    # Show loading status.
    current_text = tk.StringVar()
    current_text.set('Loading...')
    tk.Label(root, textvariable=current_text).grid(row=4, column=1, sticky='w')
    subject = entry_1.get() # grab subject from user input
    try:
        root.update_idletasks()  #### ADD THIS LINE ####
        # call main
        main.test(subject)
        # show finish status
        current_text.set('Script successfully finished. '
                         'You may exit out of this window now')
    except Exception as e:  # Catch exceptions.
        current_text.set("Error occurred. Try looking at documentation")

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用户单击按钮后如何更改正在显示的模板?

来自分类Dev

桌面加载后运行脚本

来自分类Dev

桌面加载后运行脚本

来自分类Dev

在ajax加载后重新运行脚本

来自分类Dev

在 gui 加载后运行脚本

来自分类Dev

如何在Android中的两个活动之间显示“正在加载”栏

来自分类Dev

服务器正在处理视图时,如何在Django中显示加载动画?

来自分类Dev

IP更改后如何运行脚本

来自分类Dev

在Facebook Integration中,当我单击登录按钮时,它显示正在加载并返回主屏幕?

来自分类Dev

您如何通过单击按钮在tkinter中重新运行代码

来自分类Dev

如何点击HTML按钮时运行脚本(Python中,瓶)

来自分类Dev

设置cookie后运行脚本,无需重新加载页面

来自分类Dev

如何在WinSCP中运行脚本

来自分类Dev

引导一次后如何在Solaris中运行脚本

来自分类Dev

如何在 ContextMenu 上运行脚本 单击 Chrome 扩展

来自分类Dev

运行脚本后未显示 shell 提示

来自分类Dev

单击加载更多按钮后如何显示加载更多页面的整个源代码?

来自分类Dev

如何从tkinter运行两个并行脚本?

来自分类Dev

如何将文件导入 Tkinter 并运行脚本?

来自分类Dev

如何在Tkinter中取消正在运行的脚本

来自分类Dev

仅在按钮onclick后如何执行脚本?

来自分类Dev

当我单击JavaScript中的按钮后,为什么显示该值然后消失?

来自分类Dev

通过SSH连接后如何立即运行脚本?

来自分类Dev

如何在星期几更改后立即运行脚本?

来自分类Dev

OpenVPN成功连接后如何运行脚本?

来自分类Dev

设备就绪事件后如何运行脚本?

来自分类Dev

成功同步时间后自动运行脚本-如何?

来自分类Dev

恢复后和解锁屏幕后如何运行脚本

来自分类Dev

单击按钮如何运行 php 脚本

Related 相关文章

  1. 1

    用户单击按钮后如何更改正在显示的模板?

  2. 2

    桌面加载后运行脚本

  3. 3

    桌面加载后运行脚本

  4. 4

    在ajax加载后重新运行脚本

  5. 5

    在 gui 加载后运行脚本

  6. 6

    如何在Android中的两个活动之间显示“正在加载”栏

  7. 7

    服务器正在处理视图时,如何在Django中显示加载动画?

  8. 8

    IP更改后如何运行脚本

  9. 9

    在Facebook Integration中,当我单击登录按钮时,它显示正在加载并返回主屏幕?

  10. 10

    您如何通过单击按钮在tkinter中重新运行代码

  11. 11

    如何点击HTML按钮时运行脚本(Python中,瓶)

  12. 12

    设置cookie后运行脚本,无需重新加载页面

  13. 13

    如何在WinSCP中运行脚本

  14. 14

    引导一次后如何在Solaris中运行脚本

  15. 15

    如何在 ContextMenu 上运行脚本 单击 Chrome 扩展

  16. 16

    运行脚本后未显示 shell 提示

  17. 17

    单击加载更多按钮后如何显示加载更多页面的整个源代码?

  18. 18

    如何从tkinter运行两个并行脚本?

  19. 19

    如何将文件导入 Tkinter 并运行脚本?

  20. 20

    如何在Tkinter中取消正在运行的脚本

  21. 21

    仅在按钮onclick后如何执行脚本?

  22. 22

    当我单击JavaScript中的按钮后,为什么显示该值然后消失?

  23. 23

    通过SSH连接后如何立即运行脚本?

  24. 24

    如何在星期几更改后立即运行脚本?

  25. 25

    OpenVPN成功连接后如何运行脚本?

  26. 26

    设备就绪事件后如何运行脚本?

  27. 27

    成功同步时间后自动运行脚本-如何?

  28. 28

    恢复后和解锁屏幕后如何运行脚本

  29. 29

    单击按钮如何运行 php 脚本

热门标签

归档