Python-Tkinter图形用户界面

2024-09-28 05:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Tkinter的GUI接口有问题。文本不会在shell中打印,但是如果将Entry放在第一个tk窗口get()中,它就会工作。。。帮助我?你知道吗

这是我的密码:

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

Tags: textimportgettitletkinterplacewindowtk
1条回答
网友
1楼 · 发布于 2024-09-28 05:29:02

正如我在评论中提到的,您不应该使用Tk()的多个实例。对于新对话框,应该使用Toplevel。你知道吗

例如

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

相关问题 更多 >

    热门问题