Code: Alles auswählen
class ini_widget(object):
def __init__(self, widget):
####################### Initialize a Widget #######################################
setattr(self, widget, gtkbuilder.get_object("%s" % widget))
Code: Alles auswählen
class ini_widget(object):
def __init__(self, widget):
####################### Initialize a Widget #######################################
setattr(self, widget, gtkbuilder.get_object("%s" % widget))
Du kannst ja auch schreibenChrispy hat geschrieben:Schon klar, aber dann habe ich in jeder Datei 1000 (leicht übertrieben) imports. Also gibt es kein `export' .
Code: Alles auswählen
from base import func1, func2
Code: Alles auswählen
import base
base.func1()
Code: Alles auswählen
-base.py
-APP_NAME
-def main
-class Base
-other.py
-class MyClass
...
Eine ComboBox hat ja schon ein Dropdown-Menü, zu was benötigst du dann noch extra ein zweites (danach?) ?Chrispy hat geschrieben: Und zum Kontextmenü, nunja es gibt zwei Textpuffer (einen für PROMPT_COMMAND und PS1) und mir ist nichts besseres zur Auswahl eingefallen, als das Kontextmenü. Mit Knöpfen ist das ja kein Problem.
``global`` sollte man nicht verwenden! Mach das über imports, ``global`` ist viel zu magisch. Vor allem modulübergreifend (wusste gar nicht, dass das geht...).Chrispy hat geschrieben:Ich habs:
Na geht dochCode: Alles auswählen
global APP_NAME APP_NAME = "bashstyle"
1 Combo, 2 RadioButtons und 1 Button finde ich da die am geeignetsten. (Dürfte ja klar sein, was die jew. Elemente dann machen sollen, od?)Chrispy hat geschrieben:Also du wählst in der Combobox aus WAS du einfügen willst, dann musst du aber noch ausählen WOHIN. DAS ist das Problem. Und Deshalb ist mir nichts besseres eingefallen ................................................... Ausser .... Eine Combobox mit zwei Spalten
[PS1] [P_C]
[xxx] [xxx]
[abc] [abc]
.... Aber seltsam ist das auch.
Jetzt ist mir klar, was du damit willst. Allerdings kann das so nicht funktionieren (vermute immer noch, dass dir das Arbeiten mit Klassen und Instanzen nicht ganz klar ist). Außerdem "sieht" das überhaupt nicht besser aus, das ist viel zu magisch.Chrispy hat geschrieben:Nunja ini_widget war einfach eine Lösung um weniger tippen zu müssen, also statt
self.beispielwidget = gtkbuilder.get_object("beispielwidget")
einfach ini_widget("beispielwidget")
Ich habe kein Problem dass "normal" zu machen, aber so sieht's halt besser aus und beugt Sehnenscheidenendzündungen vor
Code: Alles auswählen
class Initiator(object):
def __init(self, gtkbuilder):
self.builder = gtkbuilder
def init_widget(objects):
for obj in objects:
setattr(self, obj, self.builder.get_object(obj))
class MainWindow(Initiator):
def __init__(self, builder):
Initiator.__init__(self, builder)
self.init_widget(['entry1', 'entry2', 'radio1'])
class OptionWindow(gtk.Window, Initiator):
def __init__(self, builder):
Initiator.__init__(self, builder)
gtk.Window.__init__(self)
self.init_widget(['hbox1', 'text_field'])
Genau!Chrispy hat geschrieben: _______
Combo = was
Radiobuttons = wohin
Button = mach schon
Oder?