Mausklick auf Pushbutton funktioniert nicht!?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
luxi
User
Beiträge: 3
Registriert: Freitag 11. April 2008, 17:49

Freitag 11. April 2008, 18:03

Hi,
ich habe wie hier in diesem Openbook erklärt, mit dem QtDesigner einen kleinen Dialog erstellt und in eine Python-Datei umwandeln lassen.

Dann will ich jetzt in der Datei, die das ganze ausführt, Signale erstellen, die beim Klick auf einen Button eine Aktion ausführen (im Moment nur den Text ändern).
Wenn ich aber auf den Button klicke, passiert nichts, nur wenn ich Enter drücke, worauf clicked() ja auch reagiert.
Woran könnte das liegen?
ausführende Datei
Datei vom Qt Designer
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Samstag 12. April 2008, 17:00

poste doch mal deine sequent in python die das mit dem mouseklick enthält

Code: Alles auswählen

    #main game loop
    done = True
    while done:
        for e in pygame.event.get():
            if e.type == QUIT or (e.type == KEYUP and e.key == K_ESCAPE):
                done = False
                break
            elif e.type == MOUSEBUTTONDOWN and aus:
                fertig()        
            elif e.type == MOUSEBUTTONDOWN and e.button == 1:
                pos = pygame.mouse.get_pos()
                mach(screen,pos)
            elif e.type == KEYUP and e.key == K_n:
                neu(screen)

    pygame.display.quit()
liefert x y koordinaten die man dann auswerten kann

zum beispiel so

Code: Alles auswählen

def reihe_ermitteln(pos):
    mous_koord_reihe = [(20, 45),(50, 75),(80,115),
                    (120,145),(150,180),(185,215),
                    (220,250),(255,280)]
    cx = 150 < pos[0] < 250
    if cx:
        for index,koor in enumerate(mous_koord_reihe):
            if koor[0] < pos[1] < koor[1]:
                akt_zeile = index+1
                return akt_zeile

def spalte_ermitteln(pos):
    mous_koord_spalte = [(160, 174),(175,196),(197,218),(219,238)]
    sy = 20 < pos[1] < 280
    if sy:
        for index,koor in enumerate(mous_koord_spalte):
            if koor[0] < pos[0] < koor[1]:
                akt_spalte = index+1
                return akt_spalte
  
BlackJack

Samstag 12. April 2008, 17:18

@sea-live: pygame != Qt
luxi
User
Beiträge: 3
Registriert: Freitag 11. April 2008, 17:49

Dienstag 15. April 2008, 18:08

Weiß hier wirklich niemand weiter?
Kann doch nicht so schwer sein :?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dienstag 15. April 2008, 18:15

guck mal in Zeile 12 ...
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Dienstag 15. April 2008, 18:16

Die Einrückungen in Zeile 9 und 12 sehen kaputt aus. Oder ist das beim copy-paste passiert?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dienstag 15. April 2008, 18:31

fred.reichbier hat geschrieben:Die Einrückungen in Zeile 9 und 12 sehen kaputt aus. Oder ist das beim copy-paste passiert?
Stimmt ... Zeile 9 auch
luxi
User
Beiträge: 3
Registriert: Freitag 11. April 2008, 17:49

Donnerstag 17. April 2008, 15:34

Ne, dass muss beim Pasten passiert sein.
Die von Galileocomputing benutzen keine Tabs und ich hab mir das direkt da rauskopiert.
Hier noch mal eine "richtige" Version:
Programm
Antworten