메인 인터페이스를 정의하세요. "w+" 모드를 사용하여 test.txt 파일을 만듭니다. (배경 이미지를 추가했는데 필요하지 않으면 생략할 수 있습니다.)
#打开时预加载储存在test.txt文件中的花名册 namelist = [] with open("test.txt", "r") as f: for line in f.readlines(): line = line.strip('\n') namelist.append(line) win = Tk() win.title('小白点名器') win.geometry('500x300') #定义画布,添加背景图片 canvas = Canvas(win,width=500,height=300) img_obj = PhotoImage(file=r"C:\Users\ge\Downloads\IMG_202206307919_png.png") #需输入照片路径 image = canvas.create_image(250,0,anchor = "n" , image = img_obj) canvas.pack() a = StringVar() b = StringVar() b.set('开始') #定义可变文本信息 Label1 = Label(win, textvariable=a, font=('黑体', 100)).place(y= 60 , x=65) #定义四个按钮 Button1 = Button(win, textvariable=b, font=('等线', 30), command = zhuanzhuan).place(y=210,x = 190) Button2 = Button(win, text = '添加姓名', font=('等线', 20), command = addname).place(x= 50,y =0) Button3 = Button(win, text = '查看', font=('等线', 20), command = chakan).place(x= 230,y =0) Button4 = Button(win, text = '指南', font=('等线', 20), command = zhinan).place(x= 360,y =0) win.mainloop()
이름 추가 인터페이스를 정의하고 test.txt 파일에 저장합니다. 이름이 추가될 때마다 입력이 비어 있는지 확인하고(프롬프트 상자 추가) 명단이 비어 있는지 확인하십시오.
#定义添加姓名界面 def addname(): global Entry1 window = Tk() window.title('姓名添加器') window.geometry('400x200+500+200') Label11 = Label(window, text = '请在下方输入你要添加的姓名', font=('黑体', 18), anchor='center').place(y=30, x=25) Entry1 = Entry(window, font=('等线', 30), width=70) Entry1.place(y=80, x=70, width=200, height=80) Button3 = Button(window, text = '确认', font=('等线', 18), command = addname1).place(x= 300,y =80, height=80) #每添加一次姓名就保存到test.txt文件中 def addname1(): global namelist #声明为全局变量实时更新 if len(Entry1.get()) == 0: tkinter.messagebox.showinfo('提示', '姓名输入不能为空哦') else: if len(Entry1.get()) == 2: zhongjian = list(Entry1.get())[::1] zhongjian1 = zhongjian[0] + ' ' +zhongjian[1] if len(namelist) == 0: nam = zhongjian1 else: nam = '\n' + zhongjian1 else: if len(namelist) == 0: nam = str(Entry1.get()) else: nam = '\n' + str(Entry1.get()) with open("test.txt", "a") as f: f.write(nam) tip = '姓名:' + Entry1.get() + ' 添加成功' tkinter.messagebox.showinfo('提示', tip) print(nam) namelist = [] with open("test.txt", "r") as f: for line in f.readlines(): line = line.strip('\n') namelist.append(line)
이것은 비교적 간단합니다. 텍스트를 사용하여 사전의 정보를 표시하기만 하면 됩니다.
def chakan(): window = Tk() window.title('花名册查看') window.geometry('350x200+500+200') console = Text(window, font=('等线', 11)) console.place(y=20, x=35, width=280, height=170) console.insert(1.0,namelist)
위와 동일, 텍스트를 사용하여 표시
def zhinan(): window = Tk() window.title('小白点名器使用指南') window.geometry('350x230+500+200') console = Text(window, font=('等线', 11)) console.place(y=20, x=35, width=280, height=190) console.insert(1.0, ' 欢迎使用小白点名器1.0\n你可以在”添加姓名按钮上输入你要添加的名字\n你可以在”查看“按钮中查看花名册中所有的名字' '\n你可以在此程序同级的名为”花名册.txt“的文件夹中直接批量添加、删减姓名(使用回车做分隔)\n--------------------------------\n' '(指南之外)此程序在CSDN中已开源,欢迎访问我的博客:晋升阁\n需要合作的可加我微信:baijinge1137')
판단 "시작" 그리고 "정지" 상태. 스레드를 정의합니다. 스레드 활성화
#判断状态 def zhuanzhuan(): if b.get() == '开始': b.set('停止') elif b.get() =="停止": b.set('开始') _thread.start_new_thread(xiancheng,()) #启用一个线程来转动姓名 #定义一个线程 def xiancheng(): global xuanzhong while b.get()=='停止': try: xuanzhong = random.choice(namelist) a.set(xuanzhong) Label1.updata()#刷新数据 time.sleep(0.3)#0.3秒刷新一次 except: continue time.sleep(0.3) a.set(xuanzhong)
메인 인터페이스에 배경 이미지를 추가할 필요가 없다면 코드의 90~94행을 삭제할 수 있습니다. 배경이미지 추가가 필요한 경우 경로주소가 맞는지 주의해주세요
import random import time from tkinter import * import _thread import tkinter.messagebox def zhuanzhuan(): if b.get() == '开始': b.set('停止') elif b.get() =="停止": b.set('开始') _thread.start_new_thread(xiancheng,()) #启用一个线程来转动姓名 def xiancheng(): global xuanzhong while b.get()=='停止': try: xuanzhong = random.choice(namelist) a.set(xuanzhong) Label1.updata() time.sleep(0.3) except: continue time.sleep(0.3) a.set(xuanzhong) def addname1(): global namelist #声明为全局变量实时更新 if len(Entry1.get()) == 0: tkinter.messagebox.showinfo('提示', '姓名输入不能为空哦') else: if len(Entry1.get()) == 2: zhongjian = list(Entry1.get())[::1] zhongjian1 = zhongjian[0] + ' ' +zhongjian[1] if len(namelist) == 0: nam = zhongjian1 else: nam = '\n' + zhongjian1 else: if len(namelist) == 0: nam = str(Entry1.get()) else: nam = '\n' + str(Entry1.get()) with open("test.txt", "a") as f: f.write(nam) tip = '姓名:' + Entry1.get() + ' 添加成功' tkinter.messagebox.showinfo('提示', tip) print(nam) namelist = [] with open("test.txt", "r") as f: for line in f.readlines(): line = line.strip('\n') namelist.append(line) def chakan(): window = Tk() window.title('花名册查看') window.geometry('350x200+500+200') console = Text(window, font=('等线', 11)) console.place(y=20, x=35, width=280, height=170) console.insert(1.0,namelist) def zhinan(): window = Tk() window.title('小白点名器使用指南') window.geometry('350x230+500+200') console = Text(window, font=('等线', 11)) console.place(y=20, x=35, width=280, height=190) console.insert(1.0, ' 欢迎使用小白点名器1.0\n你可以在”添加姓名按钮上输入你要添加的名字\n你可以在”查看“按钮中查看花名册中所有的名字' '\n你可以在此程序同级的名为”花名册.txt“的文件夹中直接批量添加、删减姓名(使用回车做分隔)\n--------------------------------\n' '(指南之外)此程序在CSDN中已开源,欢迎访问我的博客:晋升阁\n需要合作的可加我微信:baijinge1137') def addname(): global Entry1 window = Tk() window.title('姓名添加器') window.geometry('400x200+500+200') Label11 = Label(window, text = '请在下方输入你要添加的姓名', font=('黑体', 18), anchor='center').place(y=30, x=25) Entry1 = Entry(window, font=('等线', 30), width=70) Entry1.place(y=80, x=70, width=200, height=80) Button3 = Button(window, text = '确认', font=('等线', 18), command = addname1).place(x= 300,y =80, height=80) namelist = [] with open("test.txt", "r") as f: for line in f.readlines(): line = line.strip('\n') namelist.append(line) win = Tk() win.title('小白点名器') win.geometry('500x300') canvas = Canvas(win,width=500,height=300) img_obj = PhotoImage(file=r"C:\Users\ge\Downloads\IMG_202206307919_png.png") #背景图片路径,若不需要添加将85—88行删掉即可 image = canvas.create_image(250,0,anchor = "n" , image = img_obj) canvas.pack() a = StringVar() b = StringVar() b.set('开始') Label1 = Label(win, textvariable=a, font=('黑体', 100)).place(y= 60 , x=65) Button1 = Button(win, textvariable=b, font=('等线', 30), command = zhuanzhuan).place(y=210,x = 190) Button2 = Button(win, text = '添加姓名', font=('等线', 20), command = addname).place(x= 50,y =0) Button3 = Button(win, text = '查看', font=('等线', 20), command = chakan).place(x= 230,y =0) Button4 = Button(win, text = '指南', font=('等线', 20), command = zhinan).place(x= 360,y =0) win.mainloop()
위 내용은 Python을 기반으로 롤 호출자를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!