Tkinter und Pygame

Fragen zu Tkinter.
Antworten
r74
User
Beiträge: 14
Registriert: Montag 15. Dezember 2008, 21:34

Montag 15. Dezember 2008, 21:48

Hallo Forum

Bin ein absoluter Python-Neuling. Hier mein erstes Problem. Ich hoffe jemand von euch kann mir weiterhelfen.

Sobald ich die beiden mit <----- markierten Zeilen in den Code einbaue, funktioniert das Entry-Widget nicht mehr. D.h. ich kann auf das Eingabefeld klicken, aber der Cursor erscheint nicht.

Code: Alles auswählen

#!/usr/local/bin/python
from Tkinter import *     
import pygame

pygame.mixer.init(11025, -16, 1, 3072)  #<-------------------
pygame.init()                           #<-------------------

class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)   
        self.grid()   
        self.createWidgets()
    
    def createWidgets(self):
        myframe = Frame(self)
        
        l = Label(myframe, text = "name")
        l.pack()
        self.e = Entry(myframe)
        self.e.pack()
        myframe.grid()

app = Application()        
app.master.title("myGame")
app.mainloop()
Benutzeravatar
kaytec
User
Beiträge: 544
Registriert: Dienstag 13. Februar 2007, 21:57

Dienstag 16. Dezember 2008, 11:42

Hallo r74 !

Du verwendest zwei verschiedene Packer (grid und pack). Du darfst nur einen verwenden.

gruss frank
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Dienstag 16. Dezember 2008, 15:04

kaytec hat geschrieben:Du verwendest zwei verschiedene Packer (grid und pack). Du darfst nur einen verwenden.
Nein.

Das Problem ist die Kombination von Pygame und Tkinter - das funktioniert nicht:
http://archives.seul.org/pygame/users/N ... 00174.html
r74
User
Beiträge: 14
Registriert: Montag 15. Dezember 2008, 21:34

Dienstag 16. Dezember 2008, 15:17

@Numerix:
Vielen Dank für deine leider schlechte Nachricht.


Ich brauche Pygame nur um Sound zu erzeugen (also eine selbstgenerierte Sinuswelle zum Klingen zu bringen).
Mit Tkinter erstelle ich die gesamte GUI.

Kennt jemand eine andere Möglichkeit für die eigene Sounderzeugung, die mit Tkinter zusammen funktioniert?

oder umgekehrt:

Kennt jemand eine GUI-Implementierung die mit Pygame zusammen funktioniert?

Vielen Dank für eure kompetenten Antworten.



@Kaytec:
Daran liegt es nicht. Aber mit deiner Bemerkung was die zwei Packer betrifft hast du recht.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Dienstag 16. Dezember 2008, 15:31

r74 hat geschrieben:Kennt jemand eine andere Möglichkeit für die eigene Sounderzeugung, die mit Tkinter zusammen funktioniert?
Vielleicht hilft dir das: http://sox.sourceforge.net/
r74 hat geschrieben:@Kaytec:
Daran liegt es nicht. Aber mit deiner Bemerkung was die zwei Packer betrifft hast du recht.
Nein, hat er nicht. Es ist kein Problem, in einem Programm beide Packer zu verwenden, wenn man weiß, was man tut und wie man es vernünftig anstellt. In der Regel wird das allerdings nicht nötig (und darum auch nicht sinnvoll) sein.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 16. Dezember 2008, 15:44

r74 hat geschrieben:Kennt jemand eine andere Möglichkeit für die eigene Sounderzeugung, die mit Tkinter zusammen funktioniert?
Snack.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
r74
User
Beiträge: 14
Registriert: Montag 15. Dezember 2008, 21:34

Dienstag 16. Dezember 2008, 16:02

@Numerix und @Leonidas:
Das geht aber prompt. Vielen Dank euch beiden für die Links. Ich habe die Seiten kurz überflogen.

Ich suche schon etwas wie Pygame. Dort kann ich via einem sogeannten Sound-Array eine beliebige eigene Wellenform erstellen die dann abgespielt wird. Beispielsweise überlagere ich mehrere verschiedene Sinuswellen zu einer Superpositionswelle und lasse die dann abspielen. Geht das wirklich mit Snack oder SoX?

So wie ich das sehe kann Snack wie auch SoX "nur" bestehende Audiosamples ver- und bearbeiten?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Dienstag 16. Dezember 2008, 16:42

r74 hat geschrieben:So wie ich das sehe kann Snack wie auch SoX "nur" bestehende Audiosamples ver- und bearbeiten?
Gut möglich - mehr habe ich mit beiden auch bisher nicht gemacht.

Warum bleibst du dann nicht ganz bei Pygame und verzichtest auf Tkinter?
Benutzeravatar
wuf
User
Beiträge: 1483
Registriert: Sonntag 8. Juni 2003, 09:50

Dienstag 16. Dezember 2008, 17:19

Hallo r74

Betreffs Sounds wäre hier noch etwas zu finden. Du musst dich aber selber näher informieren:

http://eblong.com/zarf/boodler/

Gruss wuf :wink:
Take it easy Mates!
BlackJack

Dienstag 16. Dezember 2008, 20:21

Um nochmal auf `pack()` und `grid()` einzugehen: Man sollte verschiedene Layoutmanager nicht im *gleichen Widget* mischen. Im *gleichen Programm* kann das durchaus sinnvoll sein. Zum Beispiel für ein Tastenfeld wie bei einem Telefon oder Taschenrechner ein Frame mit einem `grid()` mit Buttons bestücken, und den Frame dann mit `pack()` in den Rest der GUI zu stecken.
r74
User
Beiträge: 14
Registriert: Montag 15. Dezember 2008, 21:34

Dienstag 16. Dezember 2008, 21:05

@Numerix:
Naja, eben weil mir Tkinter ein schönes, einfaches GUI bietet und Pygame eben eine einfache Möglichkeit meine eigenen Wellen hörbar zu machen.

@Wuf:
Hab mir deinen Link mal angesehen. Sieht nicht einfach aus. Da muss ich etwas mehr Zeit dazu haben.


Es wäre ja noch möglich, dass ein anderes GUI-Toolkit (z.B. EasyGUI, wxPython, ...) mit Pygame zusammen funktioniert. Weiss hierzu jemand Bescheid?
r74
User
Beiträge: 14
Registriert: Montag 15. Dezember 2008, 21:34

Samstag 20. Dezember 2008, 14:52

Ich bin fündig geworden. Falls es jemanden interessiert:
Hier ein GUI Modul das mit Pygame zusammen funktioniert.
Antworten