indirect assignment question

Thomas Rachel nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915 at spamschutz.glglgl.de
Tue May 17 03:15:57 EDT 2011


Am 17.05.2011 07:13 schrieb Andy Baxter:

> self.window = self.wTree.get_widget("mainWindow")
> self.outputToggleMenu = self.wTree.get_widget("menuitem_output_on")
> self.outputToggleButton = self.wTree.get_widget("button_toggle_output")
> self.logView = self.wTree.get_widget("textview_log")
> self.logScrollWindow = self.wTree.get_widget("scrolledwindow_log")
>
> and I would like (for tidiness / compactness's sake) to replace them
> with something like this:
> widgetDic = {
> "mainWindow": self.window,
> "menuitem_output_on": self.outputToggleMenu,
> "button_toggle_output": self.outputToggleButton,
> "textview_log": self.logView,
> "scrolledwindow_log": self.logScrollWindow
> }
> for key in widgetDic:
> ... set the variable in dic[key] to point to self.wTree.get_widget(key)
> somehow

assignmap = (
     ('mainWindow', 'window'),
     ('menuitem_output_on', 'outputToggleMenu'),
     ('button_toggle_output', 'outputToggleButton'),
     ('textview_log', 'logView'),
     ('scrolledwindow_log', 'logScrollWindow'),
)
for name, selfname in assignmap:
     val = widgetDic[name] = self.wTree.get_widget(name)
     setattr(self, selfname, val)


HTH,

Thomas



More information about the Python-list mailing list