使用 for 循环在 tkinter 中创建按钮并为每个按钮提供唯一的输入

时间:2021-05-20 17:14:48

标签: python tkinter

你好,我正在做一个截图项目。对于其中的一部分,我想为每个屏幕截图打开一个带有按钮的窗口,然后可以单击一个并显示图像。 到目前为止,我使用此函数在打开窗口时创建按钮。

def create_secondwindow_button():
    x = 1
    y = 0
    mypath = "C:\\Users\\Link\\OneDrive\\Desktop\\python stuff\\screenshot example\\All snapshot images"
    for I in listdir(mypath):
        btp = mypath +"\\"+str(I)
        print(btp)
        screenshot_snap = Button(sec_window,text = str(I), bg =  "chocolate3",activebackground = "white",padx= 80,pady =10,command =lambda: image_replacer(y))
        screenshot_snap.grid(column = 4, row = int(x),rowspan = 5,columnspan = 5,padx = 50,pady =10)
        x += 10
        if y < 3:
            y += 1

问题是所有按钮的输入都保持在 y 的最后一个值。 我需要一个可变的输入,因为图像的数量会不断变化。 有谁知道我如何解决这个问题。非常感谢!

0 个答案:

没有答案