Forum >> Programmazione Python >> GUI >> Tkinter - Spinbox .... come si usa

Pagina: Indietro 1 2

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()

Allegati
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
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.