flyndrefjes Skrevet 24. februar 2007 Del Skrevet 24. februar 2007 Er ferskis med Python og kom derfor borti en sak jeg ikke klarer å løse. Jeg ønsker å kjøre programmet i en loop (while-løkke) helt til en tast på tastaturet trykkes. Jeg skriver ikke i Tk eller noe grafisk miljø ennå. Skjønner ikke hvordan jeg skal få programmet til å registrere et bestemt tastetrykk for å avbryte løkken :-( Ser det er støtte for dette i en modul hvis jeg programmerer i Windows. Nå har det seg slik at programmet skal brukes både på en gammel Win98 PC og en Linux-PC, så scriptet bør være mest mulig kompatibelt. Vil ikke bruke noen proprietært fra Microsoft iallfall! :-p På forhånd takk! Lenke til kommentar
dabear Skrevet 24. februar 2007 Del Skrevet 24. februar 2007 Dette må implementeres per plattform og da naturlignok med en propitiær API på windowsplattformen. Dessuten vil en evigvarende loop etterhvert dra opp noe kolossalt av både minne og cpu-kraft, så ei callback-basert løsning med glib eller liknende i QT/TK, vil være å foretrekke. Utover det, har jeg tidligere laga noe slikt, men jeg greier ikke finne det nå. Hva skal du med dette egentlig? Lenke til kommentar
flyndrefjes Skrevet 24. februar 2007 Forfatter Del Skrevet 24. februar 2007 Dette må implementeres per plattform og da naturlignok med en propitiær API på windowsplattformen. Dessuten vil en evigvarende loop etterhvert dra opp noe kolossalt av både minne og cpu-kraft, så ei callback-basert løsning med glib eller liknende i QT/TK, vil være å foretrekke. Utover det, har jeg tidligere laga noe slikt, men jeg greier ikke finne det nå. Hva skal du med dette egentlig? 8017549[/snapback] Ok, jeg trodde det kanskje var en enkel løsning ettersom f.eks. variabel = raw_input("skriv inn noe: ") fungerer på tvers av Win og Linux. Hva jeg skal bruke det til? Nei, nesten for dumt å ta opp her :-D Men la oss si at noe skal genereres på skjermen helt til brukeren avbryter med et vilkårlig tastetrykk. Forsåvidt kunne det også ha vært fra musen, men regner med det er lettere å få til m.h.a. tastaturet. Lenke til kommentar
zeitgeist Skrevet 26. februar 2007 Del Skrevet 26. februar 2007 (endret) Hva med å gjøre det enklere for deg selv ved å begense deg til Ctrl-c og fange unntaket: from time import sleep while True: try: print ".", sleep (0.5) except KeyboardInterrupt: break Alternativt kan du jo sjekke for OS og skrive platform-spesifikk kode. For windows finnes det et 3. parts bibliotek; PyHook. Tror du finner noe der. Vet ikke for Linux. Endret 26. februar 2007 av zeitgeist Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå