Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problemi con interfaccie grafiche Tkinter

    Ciao sono un ragazzo che studia informatica e dopo aver cominciato a studiare scolasticamente il c/c++, desideravo buttarmi in un nuovo linguaggio il python...
    tutto andava liscio fino a quando nn ho avuto problemi con le interfaccie grafiche, in effetti seguendo la guida di questo sito ho provato a creare la seguente interfaccia Tkinter....

    questo è il codice prelevato per prova dal vostro sito ...
    mi potete spiegare perchè alla fine nn crea l'interfaccia grafica ???

    codice :

    from Tkinter import * # importo il modulo
    class Application(Frame):
    def scrivi_messaggio(self):
    self.mess["text"] = "Ciao a tutti!",
    def cancella_messaggio(self):
    self.mess["text"] = "",
    def __init__(self, master=None):
    f = Frame(master)
    f.pack()
    self.esci = Button(f)
    self.esci["text"] = "QUIT"
    self.esci["fg"] = "red"
    self.esci["command"] = f.quit
    self.esci.pack({"side": "left"})
    self.butt_mess = Button(f)
    self.butt_mess["text"] = "Scrivi",
    self.butt_mess["command"] = self.scrivi_messaggio
    self.butt_mess.pack({"side": "left"})
    self.butt_canc_mess = Button(f)
    self.butt_canc_mess["text"] = "Cancella",
    self.butt_canc_mess["command"] = self.cancella_messaggio
    self.butt_canc_mess.pack({"side": "left"})
    self.mess = Message(f)
    self.mess["text"] = "",
    self.mess.pack({"side": "left"})
    finestra = Tk()
    app = Application(finestra)
    finestra.mainloop()

    mi sapete dare una spiegazione ?

  2. #2

    Re: problemi con interfaccie grafiche Tkinter

    ho solo indentato il codice ... e a me funziona alla perfezione (Python 2.4)
    codice:
    from Tkinter import *
    
    class Application(Frame):
    	def scrivi_messaggio(self):
    		self.mess["text"] = "Ciao a tutti!",
    	def cancella_messaggio(self):
    		self.mess["text"] = "",
    	def __init__(self, master=None):
    		f = Frame(master)
    		f.pack()
    		self.esci = Button(f)
    		self.esci["text"] = "QUIT"
    		self.esci["fg"] = "red"
    		self.esci["command"] = f.quit
    		self.esci.pack({"side": "left"})
    		self.butt_mess = Button(f)
    		self.butt_mess["text"] = "Scrivi",
    		self.butt_mess["command"] = self.scrivi_messaggio
    		self.butt_mess.pack({"side": "left"})
    		self.butt_canc_mess = Button(f)
    		self.butt_canc_mess["text"] = "Cancella",
    		self.butt_canc_mess["command"] = self.cancella_messaggio
    		self.butt_canc_mess.pack({"side": "left"})
    		self.mess = Message(f)
    		self.mess["text"] = "",
    		self.mess.pack({"side": "left"})
    
    finestra = Tk()
    app = Application(finestra)
    finestra.mainloop()
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    strano io ho copiato il codice in IDLE (python GUI) ho premuto invio e poi nn ho nessun risultato ....

    cosa devo fara dopo che ho inserito il codice ?

  4. #4
    scrivere Python in IDLE credo sia un mezzo suicidio ... va bene per dei tests veloci ma ti serve un editor per non avere problemi.

    Il notepad per questo test può andare più che bene (copi e incolli in un file di testo e lo salvi come test.py poi lo lanci), ma ce ne sono tanti altri ma non credo sia questo il luogo adatto per parlarne (nel forum di PHP c'è un 3D dedicato agli editors, molti dei quali vanno bene anche per Python)

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    strano io ho copiato il codice in IDLE (python GUI) ho premuto invio e poi nn ho nessun risultato ....

    cosa devo fara dopo che ho inserito il codice ?

  6. #6
    grazie per il consiglio ... infatti provando come hai detto tu riesco a creare la prima interfaccia .. ma nel caso della seguente mi da un errore .. mi sapresti dire il perchè ?
    NELLO SPECIFICO MI SEGNALA L'ERRORE IN : def OnInit(self):

    Errore: indentationError: expected an indented block

    codice:

    from wxPython.wx import *

    class MyApp(wxApp): # derivo la classe applicazione
    def OnInit(self):
    frame = wxFrame(NULL, -1, "Ciao da wxPython") #creo il frame
    frame.Show(true) #mostro il frame
    return true

    app = MyApp(0) # istanzio l'applicazione
    app.MainLoop() # faccio partire il loop che gestisce gli eventi

    Errore: indentationError: expected an indented block

  7. #7
    python si basa sui blocchi indentati (per questo è bello anche "da guardare") ... se sei uno che scrive tutto a capo con Python non farai molta strada ...

    codice:
    from wxPython.wx import *
    
    class MyApp(wxApp): # derivo la classe applicazione
    	def OnInit(self):
    		frame = wxFrame(NULL, -1, "Ciao da wxPython") #creo il frame
    		frame.Show(true) #mostro il frame
    		return true
    
    app = MyApp(0) # istanzio l'applicazione
    app.MainLoop() # faccio partire il loop che gestisce gli eventi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    grazie per il consiglio .... comunque l'ultimo frammento di codice nn funziona .. perche nn ho scaricato la libreria .... wxPython ....!!!

    grazie cmq ....

    ciao ...

  9. #9
    Originariamente inviato da cirilli89
    grazie per il consiglio .... comunque l'ultimo frammento di codice nn funziona .. perche nn ho scaricato la libreria .... wxPython ....!!!
    ... però l'errore era di indentazione

    cmq le wx sono molto meglio delle Tk
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    grazie per il consiglio ....

    ah mica puoi consigliarmi qualche manuale di python .... ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.