Выполняется действие кнопки без нажатия на неё
Почему-то при генерации окна сразу выполняется действие кнопки (в моём случае создаётся новое окно с листбоксом). В дальнейшем нажатие на кнопку ничего не выполняет. Вот часть кода:
from tkinter import *
from tkinter.ttk import *
class MyButton(Frame):
def __init__(self, parent, text="", height = 35, width = 35, *args, **kwargs):
Frame.__init__(self, parent, height=height, width=width)
self.pack_propagate(0)
self._btn = Button(self, text = text, *args, **kwargs)
self._btn.pack(fill = BOTH, expand = 1)
def cmnd(i) :
a = Toplevel(root)
n = nmbr[i]
l = Listbox(a, selectmode=SINGLE, width=15, height=10)
l.pack()
class Example(Frame):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.master.title("")
i = 0
b0 = MyButton(self, text= butt_txt(i), style = butt_stl(i), command = cmnd(i))
b0.grid(row=0, column=0)
Ответы (1 шт):
Автор решения: Vlad VarnoVo
→ Ссылка
Вы сразу ее выполняете () значит вызов
Измените это
command = cmnd(i))
На это command=lambda: cmnd(i))