#!/usr/bin/env python import tkinter as T class BtnFrame(T.Frame): def __init__(self, master, index, *args, **kwargs): self.index = index super().__init__(master, *args, **kwargs) self.btn = T.Button(self, text=f'Name_{index}', command=self.onclick) self.btn.pack(side=T.TOP) def onclick(self, event=None): print('%s called on %s'%(event, self.index)) class MainWin(T.Tk): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.btns = [BtnFrame(self, i, *args, **kwargs) for i in range(5)] for btn in self.btns: btn.pack(side=T.TOP) self.btnExit = T.Button(self, text='Exit', command=self.destroy) self.btnExit.pack(side=T.BOTTOM) if __name__ == '__main__': MainWin().mainloop()