Já jsem experimentoval s vytvářením vztahů se zákazníky řízení programu pomocí tkinter a python a chcete mít tlačítka generována na základě tabulek v databázi.
Myšlenka je, že tam je tlačítko pro každou tabulku v databázi, tak, že tabulku lze prohlížet a upravovat v případě potřeby.
Chci mít každé tlačítko vypadají stejně a pokud na něj kliknete, vygeneruje seznam položek tabulky do hlavního rámu mého programu. K tomu chci prodloužit Tlačítko() třídy tak, že můžu mít některé atributy současné chvíli také definování display_items
funkce:
class TabButton(Button):
def __init__(self, *args, **kwargs):
super().__init__(Button)
self['bg'] = '#a1a1a1'
self['font'] = ('Agency', 24)
def display_items(self, tab):
pass
#mycursor.execute('SELECT * FROM (%s)', tab)
Tento poslední řádek (viz výše) je to, co vybere data ze správné tabulky v databázi - já komentoval to, když jsem přijít na to, zbytek třídy. Vím, co *args a **kwargs udělat, ale nejsem si jistý, jaký účel mají v tomto __init__
funkce (nejsem velmi dobře obeznámeni s třídy a zkopíruje tuto třídu z jiného Přetečení Zásobníku post).
Pro generování tlačítek, jsem odkazoval dict
instanci a přiřadit každé tlačítko na tlačítko:
tabs = {
'Table1': '',
'Table2': '',
'Table3': '',
}
for tab in tabs:
row = 0
tabs[tab] = TabButton(side_frame, command=lambda: TabButton.display_items(tab))
tabs[tab].grid(row=row, column=0)
row += 1
Problém je, když jsem spustit program, dostanu tuto chybu:
AttributeError: type object 'Button' has no attribute 'tk'
Veškeré poradenství je vítán!
Pokud si všimnete nějaké chyby v mém kódu, mohl byste prosím upozornit? Velmi jsem se na programování nového, a to mě zachrání, takže další příspěvek na Stack Overflow. :p
Díky, J