Forum >> Programmazione Python >> GUI >> Problema con Tkinter

Pagina: 1

Buongiorno a tutti.
mi sono appena iscritto e questo è il mio primo intervento in assoluto.

Il mio problema è il seguente :

Ho due Input

N1 e N2

mi servirebbe il Risultato N1+N2 in una casella ed N1*N2 in un'altra casella.

nìN1*N2 non riesco in nessun modo ad averlo nella seconda casella.

Qualcuno mi può aiutare ?

Grazie.








import tkinter as tk




# --- functions ---




def generate():

try:

result = float(num1.get()) + float(num2.get())

except Exception as ex:

print(ex)

result = 'error'




num3.set(result)




# --- main ---




root = tk.Tk()




num1 = tk.StringVar()

num2 = tk.StringVar()

num3 = tk.StringVar()




tk.Label(root, text="N 1:").grid(row=0, column=0)

tk.Label(root, text="N 2:").grid(row=0, column=2)

tk.Label(root, text="R 1=N1+N2:").grid(row=2, column=0)

tk.Label(root, text="R 2=N1*N2:").grid(row=2, column=2)

tk.Entry(root, textvariable=num3).grid(row=2, column=3)




tk.Entry(root, textvariable=num1).grid(row=0, column=1)

tk.Entry(root, textvariable=num2).grid(row=0, column=3)

tk.Entry(root, textvariable=num3).grid(row=2, column=1)




button = tk.Button(root, text="Calcola", command=generate)

button.grid(row=3, column=1)




root.mainloop()

Beh, Sissio, per ricevere la risposta voluta (moltiplicazione) dovresti inserirgli le istruzioni perché ti venga data, mantenendo il Tuo stile di programmazione, dovresti definire una ulterirore tkinter.StringVar() cui assegnare "N1*N2", assegnandola a sua volta alla entry relativa.
Suggerirei :
1° quando inserisci codice definiscilo coma tale utilizzando il pulsante relativo (<>) nell'editor dei post;
2° cerca di essere ordinato nella stesura del Tuo codice, Ti confonderai meno

Una ridefinizione del Tuo codice implementante ciò che chiedi:import tkinter as tk
from tkinter import messagebox as msgb

# --- functions ---

def generate():
    try:
        result1 = float(num1.get()) + float(num2.get())
        result2 = float(num1.get()) * float(num2.get())
    except Exception as ex:
        msgb.showerror(title='Input errato',
                       message=repr(ex))
        result1 = 'error'
        result2= 'error'
    num3.set(result1)
    num4.set(result2)




# --- main ---

root = tk.Tk()
num1 = tk.StringVar()
num2 = tk.StringVar()
num3 = tk.StringVar()
num4 = tk.StringVar()

tk.Label(root, text="N 1:").grid(row=0, column=0)
tk.Entry(root, textvariable=num1).grid(row=0, column=1)
tk.Label(root, text="N 2:").grid(row=0, column=2)
tk.Entry(root, textvariable=num2).grid(row=0, column=3)
tk.Label(root, text="R 1=N1+N2:").grid(row=2, column=0)
tk.Entry(root, textvariable=num3).grid(row=2, column=1)
tk.Label(root, text="R 2=N1*N2:").grid(row=2, column=2)
tk.Entry(root, textvariable=num4).grid(row=2, column=3)

button = tk.Button(root, text="Calcola", command=generate)
button.grid(row=3, column=0, columnspan=4, sticky='ew')

root.mainloop() 
Ciao
Edit : Corretti artefatti inseriti dall'editor dei posts


--- Ultima modifica di nuzzopippo in data 2024-01-13 17:59:33 ---
Fatti non foste a viver come bruti...
Grazie nuzzopippo.
Funziona perfettamente.

In realtà sto muovendo i primissimi passi nella comprensione

del linguaggio Python.Ogni giorno imparo qualcosa di nuovo

girovagando per la rete.

E' un linguaggio che mi affascina.

Ancora tante grazie.

Ciao.
Sissiosassio1954 said @ 2024-01-13 18:53:51:
In realtà sto muovendo i primissimi passi nella comprensione
del linguaggio Python.Ogni giorno imparo qualcosa di nuovo girovagando per la rete.

Avevo immaginato, dal codice, che Tu stai iniziando, concordo con Te, la programmazione è materia stimolante ... se posso permettermi qualche suggerimento, ricorri alla rete principalmente per reperire documentazione ma studiati con sistematicità qualche buon libro, con gli esempi in rete rischi di girare a tondo e confonderTi le idee ... per lo meno studiati bene il tutorial ufficiale di python, con particolare attenzione alle classi, Ti sarà molto utile.

Poi, se posso, prima di affrontare cose tipo le applicazioni grafiche (tkinter, nel caso), sono già argomenti complessi, affronta ed acquisisci bene la base prima, sarà più facile e risparmierai molto tempo in seguito.




Ciao

Fatti non foste a viver come bruti...
Grazie per i Consigli.
Ciao.


Pagina: 1



Esegui il login per scrivere una risposta.