![](https://secure.gravatar.com/avatar/84010db55dbfb2c2ea446a9914c979e5.jpg?s=120&d=mm&r=g)
Am Fre, den 03.09.2004 um 21:39 Uhr +0200 schrieb Diez B. Roggisch:
Weil ich nicht so wirklich die Ahnung habe. :-( Bis eben habe ich noch nie etwas von dicts gehört. Muss mich darüber mal schlau machen.
Laut meinem schlauen Büchlein werden dicts mit dict() oder dict(Inhalt) aufgerufen. Warum verwendest du hier progs = {} ?
Aeh - man kann dicts auch mit dict() erzeugen und zB (shallow) kopieren - aber ueblicherweise benutzt man die eingebauten Konstruktoren {}.
Ehrlich gesagt ist es etwas erschreckend, das du von dictionaries nix gehoert hast - ich empfehle dir _dringend_ das python-tutorial mal durchzuarbeiten. Denn dicts sind dermassen grundlegend, das zu befuerchten ist das du sonstewas fuer Klimmzuege machst in deinem Code, wenn du sie nicht betutzt.
Vielleicht habe ich es ja gelesen, als ich angefangen habe mich mit Python zu beschäftigen. Mein Problem ist aber, dass ich derartige Sachen erst dann lerne, wenn ich sie auch wirklich benutze. Also nur lesen bringt nix. Und den Code stur abtippen hat mir auch nicht geholfen. Was die Klimmzüge angeht: Schau dir mal http://de.geocities.com/bmh1980de/pyrpmbuilder-0.1.tar.gz an. Das war mein erstes Python-Skript. Sogar ich, mit meinem fehlendem Wissen finde, dass da eine Menge Klimmzüge drinn sind. :-( Leider!
Ich muss doch bei gtk.RadioButton eine Gruppe von RadioButton angeben, wenn immer nur ein RadioButton aktiv sein darf. Wenn ich die Gruppe auf ProgA beziehe, kann es ein Problem geben, wenn ProgA nicht existiert, sondern erst ProbB.
Die Übergabe der Variabel group für die Gruppe schien mir am einfachsten. Bzw. war die einzige Lösung, die mir eingefallen ist.
Ich verstehe das immer noch nicht - was willst du denn wie gruppieren?
Hier mal einen Auszug aus der PyGTK FAQ. Da habe ich das mit der Gruppe nämlich her. [Ausschnitt PyGTK FAQ] 9.1. How does one group radio buttons to allow only one concurrent button to be depressed? GtkRadioButton() has a group parameter that defaults to None. The first button in the group is the group parameter for the remaining buttons. So you would do something like: w = gtk.GtkWindow() v = gtk.GtkVBox() b1 = gtk.GtkRadioButton(label="Cows") b2 = gtk.GtkRadioButton(label="Dogs", group=b1) b3 = gtk.GtkRadioButton(label="Mountains", group=b1) v.add(b1) v.add(b2) v.add(b3) w.add(v) w.show_all() [/Ausschnitt PyGTK FAQ]
Es gibt nur, oder hat nur vier Pfadmöglichkeiten zu geben. ;-) Und die habe ich jeweils mit pfad1 bis pfad4 in eine Variabel gepackt. Damits nicht so lang wird, hab ich hier die letzten Zwei unterschlagen. Aber wegen die vier Möglichkeiten habe ich ja auch jeweils or mit eingebaut.
Na, das ist aber sehr blauaeugig - warum genau 4? Und bloss weil es dann mal doch 5 sind den Code an tausend Stellen anfassen muessen? Das ist schlecht - besser eine (globale) Liste, die die Suchpfade enthaelt. Die muss man dann nur einmal anpassen - eventuell sogar per config.
Warum ist das blauäugig? Unter Linux (besser gesagt hier Slackware) gibt es nur pfad1=/usr/bin pfad2=/usr/local/bin pfad3=/usr/X11R6/bin pfad4=/opt/kde/bin, wo die Programme liegen könnten.
Hast du denn wenigstens mit Listen zu tun gehabt bisher?
Abgesehen von dem oben genannte Skript (pyrpmbuilder.py) war es noch nicht notwendig mit Listen zu arbeiten. Und bei pyrpmbuilder.py wusste ich nicht, wie ich diese anwenden muss. Allerdings hat sich auch nicht sehr viel daran geändert. Meine letzten Skripte waren für GUIs, die ich mit Glade erstellt habe. Daher waren diese Skripte sehr kurz und in erster Linie Frontends für z. B. gconftool-2. [...]
Das muss ich mir noch genauer anschauen. Auf den ersten Blick und meinem Verständnis müsste ich das doch sowohl für mein Problem, als auch für die Tests nehmen können.
Klar, innerhalb des
if Found:
in meinem korrigierten Beispeil steht praktisch der Code fuer die gui-elemente. Das dict muss nat. vorher nur einmal initialisiert werden.
Wenn ich das aus der Python-Hilfe richtig verstehe, ist der Inhalt von dict() bei deinem Beispiel alles, was in [] geschrieben ist. Oder liege ich da falsch? Gruß Marcus _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de