Reputation: 59
I have a problem with GUI interface of Tkinter. The text does not print in the shell, but if Entry
is placed in the first tk window get()
it works... Help me?
Here is my code:
import os
from tkinter import *
##CONFIG FRS TK
import tkinter as tk
window = Tk()
window.geometry("600x500")
window.title("Gestione caldaie")
window.config(bg="gray")
name2=StringVar()
def enter():
print(name2.get())
def test():
clienti_caldaie=Tk()
clienti_caldaie.resizable(False,False)
clienti_caldaie.geometry("800x550")
clienti_caldaie.title("Clienti e Caldaie")
clienti_caldaie.config(bg = "#9999ff")
##DATI UTENTE
name = Label(clienti_caldaie, text = "Nome e Cognome ", font = "bold", bg = "#9999ff").place(x = 0, y = 3)
named = Entry(clienti_caldaie,textvariable=name2).place(x = 150, y = 4)
but=Button(text="Save",command=enter).place(x = 70, y = 10)
clienti = Button(text = "New", command=test).place(x = 30, y = 60)
window.mainloop()
Upvotes: 1
Views: 136
Reputation: 7006
As I mentioned in the comments, you shouldn't use more than one instance of Tk(). You should use Toplevel for new dialogs.
For example
import os
from tkinter import *
##CONFIG FRS TK
import tkinter as tk
window = Tk()
window.geometry("600x500")
window.title("Gestione caldaie")
window.config(bg="gray")
name2=StringVar()
def enter():
print(name2.get())
def test():
clienti_caldaie=Toplevel()
clienti_caldaie.resizable(False,False)
clienti_caldaie.geometry("800x550")
clienti_caldaie.title("Clienti e Caldaie")
clienti_caldaie.config(bg = "#9999ff")
##DATI UTENTE
name = Label(clienti_caldaie, text = "Nome e Cognome ", font = "bold", bg = "#9999ff").place(x = 0, y = 3)
named = Entry(clienti_caldaie,textvariable=name2).place(x = 150, y = 4)
but=Button(clienti_caldaie,text="Save",command=enter).place(x = 70, y = 10)
clienti = Button(text = "New", command=test).place(x = 30, y = 60)
window.mainloop()
Upvotes: 1