Python 如何制作带有按钮的tkinter弹出窗口,等待用户单击?
我正在制作一个程序,可以对文件进行排序和重命名。如果文件是.jpg,我想问它是属于“A”还是“B”。我的问题是,当Python 如何制作带有按钮的tkinter弹出窗口,等待用户单击?,python,if-statement,button,tkinter,popup,Python,If Statement,Button,Tkinter,Popup,我正在制作一个程序,可以对文件进行排序和重命名。如果文件是.jpg,我想问它是属于“A”还是“B”。我的问题是,当文件中的不止一个目录时,程序将在同一时刻为每个目录生成choose=Toplevel()(不是同一时刻,但会生成一个目录,然后在中循环文件:并生成另一个目录,依此类推,而不等待按钮)。然后选择A或B只会影响文件中文件的中的最后一个循环:。在用户决定单击A或B之前,是否可以停止程序和循环 下面是我要说的一段代码: for file in files: cwd = os.getcwd()
文件中的不止一个目录时,程序将在同一时刻为每个目录生成choose=Toplevel()
(不是同一时刻,但会生成一个目录,然后在中循环文件:
并生成另一个目录,依此类推,而不等待按钮)。然后选择A或B只会影响文件中文件的中的最后一个循环:
。在用户决定单击A或B之前,是否可以停止程序和循环
下面是我要说的一段代码:
for file in files:
cwd = os.getcwd()
shutil.copy(file, cwd)
dir_file = cwd + '/' + os.path.basename(file)
file_name, file_ext = os.path.splitext(os.path.basename(file))
if file_ext.upper() in [".JPG", ".JPEG", ".PDF", ".TIF"]:
def send_a(a):
adress = dir_file
name = "photo_A0" + str(a) + file_ext
name = cwd + "/" + name
os.rename(adress, name)
a += 1
return a
def send_b(b):
adress = dir_file
name = "photo_B0" + str(b) + file_ext
name = cwd + "/" + name
os.rename(adress, name)
b += 1
return b
choose = Toplevel()
choose_one = Label(choose, text="Choose one: " + os.path.basename(file), width=50)
choose_one.grid(row=0, column=0)
guzik3 = Button(choose, text="A", command=lambda: [send_a(a), choose.destroy()])
guzik3.grid(row=0, column=3, padx=10, pady=6)
guzik4 = Button(choose, text="B", command=lambda: [send_b(b), choose.destroy()])
guzik4.grid(row=0, column=3, padx=10, pady=6)
else ...
使用choose。等待\u窗口(choose)
直到choose
被销毁。继续阅读并