Forum
>>
Programmazione Python
>>
GUI
>>
Tkinter - Spinbox .... come si usa
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.
Scritto da Orsogrizzly |
2017-03-30 15:10:18 - Re: Tkinter - Spinbox .... come si usa
|
la mail non l'avevo vista se c'era ti chiedo scusa per ora ti posto la parte di codice per la prima finestra modificato, manca ancora da definire qualche funzione ma credo che sia comprensibile come implementare ulteriormente quello che manca.
Manca anche la parte che mette in relazione le due finestre, non appena possibile di posterò le relative modifiche. Ho immesso anche una piccola funzione per il messagebox visto che su un altro post chiedevi info a riguardo. In oltre allego il file in calce. from tkinter import * from tkinter import messagebox import time ######################################################################## class ParametriCNC(Frame): """""" #---------------------------------------------------------------------- def __init__(self, master = None): """Constructor""" Frame.__init__(self, master) self.master.title("Lettura Parametri Scheda CNC") self.master.geometry('450x350+100+100') #sezione menu self.BarraMenu = Menu(self) #crea la barra dei menu menu = Menu(self.BarraMenu, tearoff=0) #aggiungo il menu file self.BarraMenu.add_cascade(label = "File", menu = menu) menu.add_command(label = "Nuovo") menu.add_command(label = "Apri") # command = apri_file menu.add_command(label = "Salva") menu.add_command(label = "Esci",command = self.uscita) #,command = uscita) #creo menu setup menuSetup = Menu(self.BarraMenu, tearoff = 0) self.BarraMenu.add_cascade(label = "Lista schermate", menu = menuSetup) menuSetup.add_command(label = " Apri Setup")#,command = chiama_setup) #creo menu about menuAbout = Menu(self.BarraMenu, tearoff = 0) self.BarraMenu.add_cascade(labe = "Informazioni su", menu = menuAbout) menuAbout.add_command(label = "About") #,command = chiama_about) #creo la griglia self.grid() #creo le label per le schede self.scheda1 = Label(self,text = "Scheda 1",bg = "white") self.scheda2 = Label(self,text = "Scheda 2",bg = "white") self.scheda3 = Label(self,text = "Scheda 3",bg = "white") #posizione label delle schede self.scheda1.grid(row = 0, column = 1, padx= 10, pady= 10) self.scheda2.grid(row = 0 , column = 2, padx= 10, pady= 10) self.scheda3.grid(row = 0 , column = 3, padx= 10, pady= 10) #etichette parametri self.ponte1 = Label(self,text = "T° Ponte 1 :",bg = "white") self.ponte2 = Label(self,text = "T° Ponte 2 :",bg = "white") self.tensioneAlimentazione = Label(self, text = "Tensione Alim. :" , bg = "white") self.correntePonte1 = Label(self, text = "Corrente Ponte 1 :" , bg = "white") self.correntePonte2 = Label(self, text = "Corrente Ponte 2 :" , bg = "white") # Posizione etichette Parametri self.ponte1.grid(row = 1 , column = 0, padx= 10, pady= 10) self.ponte2.grid(row = 2 , column = 0, padx= 10, pady= 10) self.tensioneAlimentazione.grid(row = 3 , column = 0, padx= 10, pady= 10) self.correntePonte1.grid(row = 4 , column = 0, padx= 10, pady= 10) self.correntePonte2.grid(row = 5 , column = 0, padx= 10, pady= 10) #etichette di output valori # colonna scheda 1 self.scheda1Ponte1 = Label(self, text = "100", width = 5 , bg = "yellow") self.scheda1Ponte2 = Label(self, text = "101", width = 5, bg = "yellow") self.scheda1TensioneAlim = Label(self, text = "102", width = 5, bg = "yellow") self.scheda1CorrentePonte1 = Label(self, text = "103", width = 5, bg = "yellow") self.scheda1CorrentePonte2 = Label(self, text = "104", width = 5, bg = "yellow") # colonna scheda 2 self.scheda2Ponte1 = Label(self, text = "200", width = 5 , bg = "yellow") self.scheda2Ponte2 = Label(self, text = "201", width = 5, bg = "yellow") self.scheda2TensioneAlim = Label(self, text = "202", width = 5, bg = "yellow") self.scheda2CorrentePonte1 = Label(self, text = "203", width = 5, bg = "yellow") self.scheda2CorrentePonte2 = Label(self, text = "204", width = 5, bg = "yellow") # colonna scheda 3 self.scheda3Ponte1 = Label(self, text = "300", width = 5 , bg = "yellow") self.scheda3Ponte2 = Label(self, text = "301", width = 5, bg = "yellow") self.scheda3TensioneAlim = Label(self, text = "302", width = 5, bg = "yellow") self.scheda3CorrentePonte1 = Label(self, text = "303", width = 5, bg = "yellow") self.scheda3CorrentePonte2 = Label(self, text = "304", width = 5, bg = "yellow") # Posizione Label Scheda 1 self.scheda1Ponte1.grid(row = 1, column = 1, padx= 10, pady= 10) self.scheda1Ponte2.grid(row = 2, column = 1, padx= 10, pady= 10) self.scheda1TensioneAlim.grid(row = 3, column = 1, padx= 10, pady= 10) self.scheda1CorrentePonte1.grid(row = 4, column = 1, padx= 10, pady= 10) self.scheda1CorrentePonte2.grid(row = 5, column = 1, padx= 10, pady= 10) # Posizione label Scheda 2 self.scheda2Ponte1.grid(row = 1, column = 2, padx= 10, pady= 10) self.scheda2Ponte2.grid(row = 2, column = 2, padx= 10, pady= 10) self.scheda2TensioneAlim.grid(row = 3, column = 2, padx= 10, pady= 10) self.scheda2CorrentePonte1.grid(row = 4, column = 2, padx= 10, pady= 10) self.scheda2CorrentePonte2.grid(row = 5, column = 2, padx= 10, pady= 10) # Posizione label Scheda 3 self.scheda3Ponte1.grid(row = 1, column = 3, padx= 10, pady= 10) self.scheda3Ponte2.grid(row = 2, column = 3, padx= 10, pady= 10) self.scheda3TensioneAlim.grid(row = 3, column = 3, padx= 10, pady= 10) self.scheda3CorrentePonte1.grid(row = 4, column = 3, padx= 10, pady= 10) self.scheda3CorrentePonte2.grid(row = 5, column = 3, padx= 10, pady= 10) # Creo i pulsanti self.refr1 = Button(self,text ="Refresh 1") #, command = Somma , bg="white") self.refr2 = Button(self,text ="Refresh 2") #, command = Somma , bg="white") self.refr3 = Button(self,text ="Refresh 3") #, command = Somma , bg="white") #posiziono i pulsanti self.refr1.grid(row = 6 , column = 1, padx= 10, pady= 10) self.refr2.grid(row = 6 , column = 2, padx= 10, pady= 10) self.refr3.grid(row = 6 , column = 3, padx= 10, pady= 10) #************************************************************************* try: self.master.config(menu=self.BarraMenu) except AttributeError: # master is a toplevel window (Python 1.4/Tkinter 1.63) self.master.tk.call(master, "config", "-menu", self.BarraMenu) #************************************************************************* def chiama_about(self): #ancora da elaborare pass def uscita(self): #risposta = message.askyesno(title="Uscita",message = "Vuoi davvero uscire") #if risposta: messagio = messagebox.askquestion(title= "Richiesta", message= "Sicuro di voler uscire?") if messagio == 'yes': print ("sto per uscire") time.sleep(10) print("esco") else: print ("non esco e rimango") #self.quit() def Somma(self): # funzione non ancora supportata da elaborare a=primo_numero.get() + ((primo_numero.get()/100) * secondo_numero.get()) lcalctot.config(text =a) if __name__ == '__main__': main = ParametriCNC() main.mainloop() |
|
Scritto da trescon |
2017-03-30 20:34:54 - Re: Tkinter - Spinbox .... come si usa
|
Non ti preoccupare, la mail prima non c'era.
Mi sembra che tu abbia fatto un gran lavoro di "conversione" dandomi un gran da studiare. Ti ringrazio per tutto il daffare che ti sei preso fino ad adesso. ------
Alberto |
|
Scritto da Orsogrizzly |
2017-03-30 20:57:34 - Re: Tkinter - Spinbox .... come si usa
|
Un po di conversione,qualche aggiustatina e qualche aggiunta qua e là,
Ma il lavoro piu complicato e duro deve ancora cominciare. Il progetto risulta interessante, ma sarà sicuramente non di piccola portata. Mi sono accorto ora che ci sono un paio di errori ortografici nella funzione del messagebox e un posizionamento errato del self.quit () che è commentato. --- Ultima modifica di Orsogrizzly in data 2017-03-30 21:44:41 --- |
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.