Форум сайта python.su
Необходимо,чтобы при выбора одного и пункта и нажатии на кнопку “Enter”,выполнялось определенное действие. Скорее всего я просто использую не тот метод,по поводу выбора из Listbox в документации ничего не нашёл
from tkinter import * class Aplication(Frame): def __init__(self, master): super(Aplication, self).__init__(master) self.grid() self.create_weget() def check(self): choose = self.list.curselection() if choose == "Test": print('I choosed Test') elif choose == "Test2": print('I choosed Test2') elif choose == "Test3": print('I choosed Test3') else: print('I choosed nothing') def create_weget(self): self.list = Listbox(self,height=5,width=15,selectmode=SINGLE) self.names = { 'Test', 'Test2', 'Test3'} for i in self.names: self.list.insert(END,i) self.list.grid(row = 0, column = 0) self.bttncheck = Button(self,text = 'Enter',command = self.check) self.bttncheck.grid() root = Tk() root.title("BY") root.geometry("300x300") root.resizable(False,False) app = Aplication(root) root.mainloop()
Отредактировано Shading (Март 22, 2016 20:28:20)
Прикреплённый файлы: test.png (11,6 KБ)
Офлайн
пропринтуйте self.list.curselection()
Офлайн
4kpt_IVОн выводит индекс выбираемого пункта. Спасибо
пропринтуйте self.list.curselection()
Офлайн
Я легко могу ошибаться, тк мой скилл не дает мне явно понимать что именно твориться у тебя в коде, но возможно это потому, что ты итерируешься по неупорядоченному множеству, а оно хранит данные в рандомном порядке. Как бы в облаке.
Офлайн