|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
自己编了一个抽签器,“载入数据”可以选择一个txt文件,然后“开始抽签”随机选择文件中的一个姓名。功能已经做到了,
但是我想在抽签的过程中Label里的文字能持续变动,所以想到了for循环,
可是实际情况是,哪怕套上循环,label也只改变一次(循环结束的最终结果)。
哪位大神能帮忙瞅瞅,怎么做到动态变化的效果
- """
- 功能:实现抽签器功能
- 时间:2020.01.31
- 版本:2.0
- 更新:2.0 添加更多按钮和显示框
- """
- import tkinter as tk
- from tkinter import filedialog
- import random as rd
- import time
- class App:
- def __init__(self, root):
- frame = tk.Frame(root)
- frame.pack()
- self.filename = "0"
- self.v1 = tk.StringVar()
- self.v1.set('抽签器')
- self.bt = tk.Label(frame, textvariable=self.v1, font=("微软雅黑", 20), width=5)
- self.bt.pack(fill=tk.X)
- self.bt = tk.Button(frame, text="载入数据", fg="blue", command=self.addname)
- self.bt.pack(fill=tk.X)
- self.bt = tk.Button(frame, text="开始抽签", fg="blue", command=self.draw)
- self.bt.pack(fill=tk.X)
- def draw(self):
- print("开始抽签,结果是谁!!")
- f = open(self.filename,'r')
- context = f.read().split(',')
- f.close()
- for i in range(10):
- self.v1.set(rd.choice(context))
- time.sleep(0.2)
- print(self.v1.get())
- def addname(self):
- self.filename = filedialog.askopenfilename(defaultextension=".txt",initialdir="*/")
- print("加入姓名!!")
- def main():
- root = tk.Tk()
- app = App(root)
- root.mainloop()
- if __name__ == '__main__':
- main()
复制代码 |
|