如何让 Tk 弹窗在函数之前显示。
达到的效果:第一步,先弹出弹窗。
然后在执行函数。
感谢,感谢
源代码:
——————————————————————————————————
from tkinter import*
import time
def gia():
print('第二步,执行函数')
time.sleep(3)
root = Tk()
var_r_wa = StringVar()
var_r_wa.set('第一步,弹出窗口')
top_W = Toplevel(root)
label_r_wa =Label(top_W,textvariable= var_r_wa)
label_r_wa.grid()
gia()
root.mainloop()
—————————————————————————————————————————— python羊 发表于 2020-6-8 16:05
越来越难系列
Python 就是这样 入门容易 精通登天啊{:10_266:} 什么意思 你是想先弹窗 显示 第一步,弹出窗口 然后在显示 第二步,执行函数? from tkinter import*
import time
def gia():
print('第二步,执行函数')
root = Tk()
var_r_wa = StringVar()
var_r_wa.set('第一步,弹出窗口')
top_W = Toplevel(root)
label_r_wa =Label(top_W,textvariable= var_r_wa)
label_r_wa.grid()
root.mainloop()
gia() from tkinter import messagebox as g
from tkinter import *
root = Tk()
var_r_wa = StringVar()
def gia():
top_W = Toplevel(root)
var_r_wa.set('第二步,执行函数')
print('第二步,执行函数')
label_r_wa = Label(top_W, textvariable=var_r_wa)
label_r_wa.grid()
g.showinfo(message='第一步,弹出窗口')
gia()
mainloop() Twilight6 发表于 2020-6-8 15:27
什么意思 你是想先弹窗 显示 第一步,弹出窗口 然后在显示 第二步,执行函数?
对的,我想要 弹窗在 函数之前显示,好像各种方法都不行。 liuzhengyuan 发表于 2020-6-8 15:28
感谢回复。我想要弹窗一直保持。 python羊 发表于 2020-6-8 15:38
感谢回复。我想要弹窗一直保持。
time 模块使用会让Tkinter 窗口卡顿到sleep结束 Twilight6 发表于 2020-6-8 15:27
什么意思 你是想先弹窗 显示 第一步,弹出窗口 然后在显示 第二步,执行函数?
感谢大哥,下面的代码,我试运行了。但是还是需要进行 确认 。请问是否可以不用 操作,直接,先弹窗在 打印def gia()的值。再次感谢您。
Twilight6 发表于 2020-6-8 15:39
time 模块使用会让Tkinter 窗口卡顿到sleep结束
是的,阻塞了。可能要用到异步才行,我还没学会异步啊{:5_104:}。 python羊 发表于 2020-6-8 15:57
是的,阻塞了。可能要用到异步才行,我还没学会异步啊。
哈哈 那就慢慢来学学多线程{:10_256:} Twilight6 发表于 2020-6-8 16:01
哈哈 那就慢慢来学学多线程
越来越难系列 经过一番学习。使用多线程可以解决,线程被阻塞时,top弹窗 卡住的问题。
解决代码如下:
from tkinter import*
import time
import threading
root = Tk()
def gia():
time.sleep(3)
print('第二步,执行函数')
def top():
var_r_wa = StringVar()
var_r_wa.set('第一步,弹出窗口')
top_W = Toplevel(root)
label_r_wa = Label(top_W,textvariable= var_r_wa).grid()
def main():
added_thread = threading.Thread(target=gia)
added_thread.start()
top()
main()
root.mainloop()
úgiaroot.mainloop() 推荐弹窗使用子线程执行,函数是用主线程执行,避免主线程关闭时子线程是否关闭未知。 nahongyan1997 发表于 2020-7-23 14:11
推荐弹窗使用子线程执行,函数是用主线程执行,避免主线程关闭时子线程是否关闭未知。
感谢
页:
[1]