Seite 1 von 1

pythoncard choice abfragen

Verfasst: Sonntag 18. Dezember 2011, 13:19
von dodo
Ich möchte ein Programm mit PythonCard machen,dass am 24. 12. 2011 startklar sein sollte.
Ich hab da ne choice(heißt "spielauswahl"), find aber nicht raus, wie ich die abfragen kann.
Denn da gibt es einen Button namens "auswPLUS" der das abfragen soll. Hier der derzeitige code dazu:

Code: Alles auswählen

from PythonCard import model
import os
class main_(model.Background):
 ...
 def on_auswPLUS.mouseClick(self,event):
   self.me_drin = self.components.spielauswahl.#Hier fehlt mir der Code
   a = open(self.me_drin+".txt",'r')
   b = a.read()
   self.components.inhalt.text = b
   a.close()
   self.components.startPLUS.label = "Starten: "+self.me_drin

app = model.Application(main_)
app.MainLoop()
Für Neugierige:
1.self.me_drin ist eine Variable, die später benötigt wird
2.die txt-Datei ist eine Datei in der Infos für das HTML-Window inhalt benötigt werden.
3.startPLUS startet dann das ausgewählte Programm(Die Choice zeigt mögliche Programme an)
4.Das ist ein Weihnachtsgeschenk(hätte man sich auch denken können :D ). Für wen verrate ich nicht.

Ich danke schon im Voraus,

DODO

Re: pythoncard choice abfragen

Verfasst: Freitag 23. Dezember 2011, 09:29
von dodo
Langsam wirds dringend!
Denn ich würde das Programm sehr gerne am 24.12. abgeben.
Und nicht verspätet!
Und wenn schon verspätet, dann wenigsten kurz nach Weihnachten! :!:

Re: pythoncard choice abfragen

Verfasst: Freitag 23. Dezember 2011, 10:04
von BlackJack
@dodo: Du hast Dir mit PythonCard etwas recht exotisches ausgesucht. Kenner der Materie scheinen rar zu sein.

Re: pythoncard choice abfragen

Verfasst: Freitag 23. Dezember 2011, 13:21
von nomnom
dodo hat geschrieben:Langsam wirds dringend!
Denn ich würde das Programm sehr gerne am 24.12. abgeben.
Und nicht verspätet!
Und wenn schon verspätet, dann wenigsten kurz nach Weihnachten! :!:
D. h. am 27. Dezember?

Ist es das, wonach du suchst? http://pythoncard.sourceforge.net/dialo ... ialog.html

Re: pythoncard choice abfragen

Verfasst: Samstag 24. Dezember 2011, 10:55
von dodo
Den kompletten Code braucht ihr eigentlich nicht.
Ich gebe ihn euch trozdem:
start_mich.pyw:

Code: Alles auswählen

from PythonCard import model
import os

class main_(model.Background):
    def on_initialize(self,event):
        self.me_drin = "Crazy_eights"
        a = open("importi.pyw", 'w')
        a.write("import crazy_eights")
        a.close()
        a = open("crazy_eights.txt")
        b = a.read()
        self.components.inhalt.text = b
        a.close()
        self.components.startPLUS.label = "Starten: " + self.me_drin
        a = open("games.txt")
        b = a.read()
        b = b.split(',')
        self.components.inhalt.items = b
        a.close()
    def on_startPLUS_mouseClick(self,event):
        os.system("start "+self.me_drin+".pyw")
    def on_spiel1_mouseClick(self,event):
        self.me_drin = "Crazy_eights"
        a = open("crazy_eights.txt",'r')
        b = a.read()
        self.components.inhalt.text = b
        a.close()
        self.components.startPLUS.label = "Starten: " + self.me_drin
    def on_spiel2_mouseClick(self,event):
        self.me_drin = "Zahlenraten"
        a = open("zahlenraten.txt",'r')
        b = a.read()
        self.components.inhalt.text = b
        a.close()
        self.components.startPLUS.label = "Starten: " + self.me_drin
    def on_spiel3_mouseClick(self,event):
        self.me_drin = "Hangmann"
        a = open("hangmann.txt",'r')
        b = a.read()
        self.components.inhalt.text = b
        a.close()
        self.components.startPLUS.label = "Starten: " + self.me_drin
    def on_auswPLUS_mouseClick(self,event):
        self.me_drin = self.components.spielauswahl.userdata
        a = open(self.me_drin+".txt",'r')
        b = a.read()
        self.components.inhalt.text = b
        a.close()
        self.components.startPLUS.label = "Starten: " + self.me_drin
    def on_new_mouseClick(self, event):
        self.me_drin = "Neu"
        self.components.inhalt.text = "<b>SPIEL HINZUFUEGEN</b><br><br>Fuege ein Spiel hinzu."
        self.components.startPLUS.label = "Neues Spiel hinzufuegen"

app = model.Application(main_)
app.MainLoop()
start_mich.rsrc.py

Code: Alles auswählen

{'application':{'type':'Application',
          'name':'Template',
    'backgrounds': [
    {'type':'Background',
          'name':'bgTemplate',
          'title':u'Dodos Spieleuniversum(DODOGAMES + Hello World)',
          'size':(566, 276),
          'icon':'ico.ico',
          'style':['resizeable'],

        'menubar': {'type':'MenuBar',
         'menus': [
             {'type':'Menu',
             'name':'menuFile',
             'label':'&File',
             'items': [
                  {'type':'MenuItem',
                   'name':'menuFileExit',
                   'label':'E&xit',
                   'command':'exit',
                  },
              ]
             },
         ]
     },
         'components': [

{'type':'HtmlWindow',
    'name':'inhalt',
    'position':(360, 24),
    'size':(194, 192),
    'backgroundColor':(255, 255, 255, 255),
    },

{'type':'Button',
    'name':'startPLUS',
    'position':(35, 180),
    'size':(295, -1),
    'backgroundColor':(125, 254, 48, 255),
    'foregroundColor':(64, 117, 255, 255),
    'label':u'Starten: Crazy eights',
    },

{'type':'StaticBox',
    'name':'box100',
    'position':(10, 160),
    'size':(339, 56),
    'label':u'Spiel/Programm spielen/benutzen',
    },

{'type':'ImageButton',
    'name':'new',
    'position':(277, 35),
    'size':(65, 69),
    'border':'transparent',
    'file':u'C:/Dokumente und Einstellungen/Amara/Desktop/geschenk/+.bmp',
    },

{'type':'ImageButton',
    'name':'spiel3',
    'position':(182, 35),
    'size':(66, 70),
    'border':'transparent',
    'file':u'C:/Dokumente und Einstellungen/Amara/Desktop/geschenk/bild3.bmp',
    },

{'type':'ImageButton',
    'name':'spiel2',
    'position':(108, 36),
    'size':(66, 70),
    'border':'transparent',
    'file':u'C:/Dokumente und Einstellungen/Amara/Desktop/geschenk/bild2.bmp',
    },

{'type':'ImageButton',
    'name':'spiel1',
    'position':(28, 36),
    'size':(66, 71),
    'border':'transparent',
    'file':u'C:/Dokumente und Einstellungen/Amara/Desktop/geschenk/bild1.bmp',
    },

{'type':'Button',
    'name':'auswPLUS',
    'position':(270, 116),
    'size':(79, -1),
    'label':u'Ausw\xe4hlen',
    },

{'type':'Choice',
    'name':'spielauswahl',
    'position':(28, 117),
    'size':(240, -1),
    'items':[u'Crazy eights', u'Zahlen Raten', u'Hangmann', u'pypong', u'Haustier', u'Raumschiff'],
    'stringSelection':u'Crazy eights',
    },

{'type':'StaticBox',
    'name':'box1',
    'position':(13, 18),
    'size':(339, 126),
    'label':u'Spiel/Programm ausw\xe4hlen',
    },

] # end components
} # end background
] # end backgrounds
} }
Und es ist kein Dialogfenster. Es ist das Hauptfenster.
Und ich möchte einfach nur abfragen, was der User eingegeben hat.
Und ich habe jetzt noch mehr Probleme: Anscheinend kann ich während der Laufzeit keine Atribute der Choice ändern... Ich habe noch nen Button, der neue Dinge in die Choice hinzufügen soll(Der Button startet ein anderes Programm, das das neue "Ding" in eine Datei einträgt.):

Code: Alles auswählen

 a = open("games.txt")
b = a.read()
b = b.split(',')
self.components.inhalt.items = b
a.close()

Re: pythoncard choice abfragen

Verfasst: Samstag 24. Dezember 2011, 11:01
von Gremlin
Also, einfach mal so ins Blaue geraten: Wenn PythonCard auf wxPython aufbaut, kannst du dann nicht einfach die Methoden der normalen wxWidgets nutzen? Also die hier: http://xoomer.virgilio.it/infinity77/wx ... ainer.html

Re: pythoncard choice abfragen

Verfasst: Samstag 24. Dezember 2011, 15:30
von dodo
Nee, klappt auch nicht... :(
Und dazu ist da noch das Problem mit der Choice, dass ich da keine neuen Daten reinkriege... :|

Re: pythoncard choice abfragen

Verfasst: Dienstag 21. Februar 2012, 10:48
von Leonidas
Auch wenns jetzt hart klingt und etwas verspätet, aber da immer wieder Leute hier mit PythonCard anfangen. Vielleicht sehen sie es das nächste mal beim googlen und machen nicht den gleichen Fehler:

Und die Moral aus der Geschicht': PythonCard verwendet man nicht.

Re: pythoncard choice abfragen

Verfasst: Dienstag 21. Februar 2012, 10:51
von Hyperion
Leonidas hat geschrieben: Und die Moral aus der Geschicht': PythonCard verwendet man nicht.
Mit "benutzt" passen die Silben besser ;-)

Re: pythoncard choice abfragen

Verfasst: Sonntag 4. März 2012, 12:29
von dodo
:(
Da habe ich schon so viel Arbeit reingesteckt...
Aber vielleicht ist es wirklich besser; ich mache es mit dem normalen WXPython.

Re: pythoncard choice abfragen

Verfasst: Sonntag 4. März 2012, 14:29
von Hyperion
dodo hat geschrieben: Aber vielleicht ist es wirklich besser; ich mache es mit dem normalen WXPython.
Auch "wx" ist hier im Forum nicht sehr beliebt. Qt und Gtk finden hier mehr Verwendung - und bieten demzufolge auch mehr potenzielle Hilfegeber :-)

Re: pythoncard choice abfragen

Verfasst: Sonntag 4. März 2012, 16:55
von Dav1d
Hyperion hat geschrieben:Auch "wx" ist hier im Forum nicht sehr beliebt.
Interessant, dass das wxPython-Subforum mehrs als doppelt so viele Beiträge hat.

Re: pythoncard choice abfragen

Verfasst: Sonntag 4. März 2012, 20:26
von lunar
@Dav1d: Das wxPython-Forum ist ja auch wesentlich älter, ebenso wie wxPython selbst älter ist als PyQt. Viele Qt-Beiträge dürften zudem noch im "Sonstige"-Forum herumschwirren, weil die Moderatoren bei der Einrichtung des Qt-Forums 2009 nicht alle Beiträge verschoben haben.

Re: pythoncard choice abfragen

Verfasst: Montag 5. März 2012, 01:12
von Leonidas
lunar hat geschrieben:Viele Qt-Beiträge dürften zudem noch im "Sonstige"-Forum herumschwirren, weil die Moderatoren bei der Einrichtung des Qt-Forums 2009 nicht alle Beiträge verschoben haben.
Och, das halte ich für unwarscheinlich dass es tatsächlich "viele" sind, hab mir recht viel Mühe gegeben beim verschieben. ;)

Re: pythoncard choice abfragen

Verfasst: Montag 5. März 2012, 11:58
von Hyperion
Also bei Gtk lag ich wohl falsch, aber zumindest bei Qt kann man anhand der Daten für die "letzten Beiträge" kann man ablesen, dass im Qt-Forum mehr los ist. Da ist der letzte Eintrag auf Seite eins von Ende Oktober 2011, im w-Forum vom Juni 2011. Bei Gtk ist anscheinend doch weniger los als gefühlt.

Re: pythoncard choice abfragen

Verfasst: Freitag 22. Juni 2012, 17:57
von dodo
:D Vielleicht sollte ich mich nicht immer danach richten, was ich gleich in irgendwelchen Büchern finde; sondern lieber danach, was auch andere verwenden.

Was ich damit sagen will ist, dass ich das ganze warscheinlich in QT nochmal probiere :D :D