Как получить имя кнопки в качестве значения в Python - PullRequest
0 голосов
/ 01 апреля 2019

используя tkinter, я создал кнопки из списка, и я хочу, чтобы, когда я нажимал на кнопку, у меня был ярлык с надписью HDD (название кнопки), добавлялся

для проверки, если я нажал надобавлена ​​кнопка / dev / sda

У меня должен быть HDD / dev / sda

, но проблема в том, что я всегда получаю последнее значение списка в моем списке

, еслиЯ нажимаю на кнопку с таким именем / dev / sda. Я получаю HDD / dev / sdb

добавлено

спасибо в расширенном

HDD=[/dev/sda,/dev/sdb,/dev/sdc]
top = tkinter.Tk()
top.geometry("500x500")

def hdd():
    hdd = tkinter.Tk()
    hdd.geometry("500x500")
    len(HDD)

    for i in range(0 , len(HDD)):
        i = HDD[i]

        def addtolist():
            hlist =[]
            hlist.append(i)

            lable = Label(hdd, text="HDD {} is added to the 
            zpool".format(i))
            lable.pack()

        print(i)
        bb = Button(hdd, text=str(i), command=addtolist)
        bb.grid(row=1, column=1)
        bb.pack()


e = Button(top, text = "HDD", command = hdd)
e.grid(row=0, column=5)

1 Ответ

0 голосов
/ 01 апреля 2019

Я не уверен, что вы имеете в виду под "я создал кнопки из списка"

from tkinter import *
top = Tk()
top.geometry("500x500")

button_names = ["dev/sda", "dev/sdb"]
button_list = [] # for later needs

#my understanding of creating buttons from a list!?
for i in button_names:
    button = Button(top, text=i, command=lambda x=i:lable_name(x))
    button.pack()
    button_list.append(button) 

#Labels are packed bellow because I don't know where you want to pack it    
def lable_name(name):
    label = Label(top, text="HDD {} is added to the zpool".format(name))
    label.pack()

top.mainloop()   

Также странно, что эта строка * hdd = tkinter.Tk () ", а затем вы пытаетесьиспользуйте len () на нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...