Я создаю основу для создания приложений с графическим интерфейсом пользователя с tkinter
, и в моем коде есть класс Scene с функцией add(widget,params)
, которая создает виджет tkinter
и добавляет его в словарь виджетов Scenes. Но я могу добавить только виджет, для которого я создал функцию add()
, потому что разные виджеты имеют разные именованные параметры.
как мне сделать функцию, которая принимает словарь в форме {paramName,value}
, который затем передал бы его функции виджета
Например
scene.add(button, {'command':Click, "text":"click me"} )
мой текущий код
import tkinter as tk
class scene():
def __init__(self, title, width, height):
self.widgets = {}
self.title = title
self.width = width
self.height = height
def add(self, name, type, widget, root, params):
if name in self.widgets.keys():
return
else:
if type == "button":
width = params[0]
height = params[1]
text = params[2]
self.widgets[name] = [widget(root,width=width, height=height,text=text),params[2:]]
def get(self,name):
if name in self.widgets.keys():
return self.widgets[name][0]
**kwargs
? - person MisterMiyagi   schedule 25.07.2020Scene.add(self, widget, params)
, в коде указано, что у вас естьScene.add(self, name, type, widget, root, params)
. В описании говорится, что вы хотите передать словарь{paramName,value}
, который является набором, но код показывает правильный словарь. - person MisterMiyagi   schedule 25.07.2020dict(name="thing")
и{"name" : "thing"}
производят точно такое же значение. - person MisterMiyagi   schedule 25.07.2020