【问题标题】:Show progress in messagebox with Tkinter使用 Tkinter 在消息框中显示进度
【发布时间】:2013-06-29 15:28:43
【问题描述】:

因此,对于该程序,我有 2 个列表,一个以 100'000 个整数开头,一个以空开头但最终将填充第一个列表中的所有素数。

我想要的是一个消息框,它会随着第二个列表的长度不断更新,当第一个列表全部扫描/为空时,会显示一条消息,即第一个列表为空并且扫描完成。

我假设 update_idletasks 会涉及到,但我找不到相关的教程。

提前致谢

【问题讨论】:

    标签: python list tkinter messagebox progress


    【解决方案1】:

    使用python3:

    from tkinter import *
    from tkinter.ttk import *
    
    def isPrime(num):
        return all(num % i for i in range(2, num))
    
    def startSearching():
        primes = []
        for i in range(100000):
            if isPrime(i):
                primes.append(i)
                displayedText.set(len(primes))
                label.update_idletasks()
        displayedText.set('Scan is done.')
    
    root = Tk()
    
    displayedText = StringVar()
    
    label = Label(root, textvariable=displayedText)
    label.grid()
    
    root.after(0, startSearching)
    root.mainloop()
    

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 2022-08-09
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2011-12-24
      相关资源
      最近更新 更多