python 输入框界面窗体_python使用tkinter无法给顶层窗体的输入框设定默认值

这几天某同学遇到了一个棘手的问题,困扰了很久。今天终于解决了,我来记录一下坑。

情景:python 使用tkinter为第二层窗体(顶层窗体)中的一个输入框设定默认值时,总是无法设置,而且对输入框获取值,也是空的。没有报错。

解决办法:只需要顶层窗体使用Toplevel,其余代码不变就可以解决。(toplevel本就在tkinter库当中,不需要引入,只需要将上层窗体由tk.Tk()改用tk.Toplevel()即可)

代码示例:底层窗口一个按钮,打开新窗口(顶层窗口),新窗口输入框显示默认值,输入新值,获取新值。

import tkinter as tk

# 设置根(底层)窗口

window = tk.Tk()

window.title('根窗口')

window.geometry('500x300')

# 传值变量

textVar = tk.StringVar()

textVar.set('在这里输入...')

# 获取新窗口中输入框的数据

def getText():

global textVar

text = textVar.get()

print(text)

# 创建新窗口

def create_toplevel():

# 新窗口(顶层窗口),使用Toplevel

top = tk.Toplevel()

top.title('打开新窗口')

top.geometry('400x200')

textInput = tk.Entry(top, bd=10, textvariable=textVar)

textInput.pack()

# 获取值的按钮

getInputTextBtn = tk.Button(top, text="获取值", font=16, bg="silver", relief='groove', command=getText).place(x=150, y=120)

top.mainloop()

# 打开新窗口

openNewWindowBtn = tk.Button(window, text='打开新窗口', font=16, bg="silver",

relief='groove', height=2, width=28, command=create_toplevel).pack()

window.mainloop()

效果:

PS:页面放大食用更佳。

Python GUI - Tkinter tkMessageBox

Python GUI - Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息     tkMess ...

Python GUI - tkinter

目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...

python之Tkinter控件学习

转载自  http://www.cnblogs.com/kaituorensheng/p/3287652.html#_label0 阅读目录 1. 产品介绍 2. 设计规划 3. 相关知识 4. 源码 ...

Qt将窗体变为顶层窗体(activateWindow(); 和 raise() )

我们知道,在windows上通过鼠标双击某应用程序图标,该应用程序往往会以顶层窗口的形式呈现在我们面前,但是对于一个已经打开的非顶层窗口,我们怎么将其激活为顶层窗口呢? 要达到激活,这个必须要满足两个 ...

Qt将窗体变为顶层窗体

//重载resizeEvent和moveEvent两个函数,以保证窗体大小和位置改变后能时刻记住其位置 QRect curGemRect = mpWindow->geometry(); //激活 ...

python界面Tkinter编程(tkMessageBox对话框使用)

python界面Tkinter编程(tkMessageBox对话框使用)     转载 https://blog.csdn.net/m_buddy/article/details/80105154 1 ...

python使用tkinter做界面之颜色

python使用tkinter做界面之颜色       from tkinter import *colors = '''#FFB6C1 LightPink 浅粉红#FFC0CB Pink 粉红#DC ...

Qt QDialog将窗体变为顶层窗体(activateWindow(); 和 raise() )

m_pLoginDlg->hide(); m_pLoginDlg->activateWindow(); //m_pLoginDlg->raise(); m_pLoginDlg-> ...

Python GUI——tkinter菜鸟编程(中)

8. Radiobutton 选项按钮:可以用鼠标单击方式选取,一次只能有一个选项被选取. Radiobutton(父对象,options,-) 常用options参数: anchor,bg,bitm ...

随机推荐

ASP.NET中application对象的用法

一.Application对象的理解 Application对象在实际网络开发中的用途就是记录整个网络的信息,如上线人数.在线名单.意见调查和网上选举等.在给定的应用程序的多有用户之间共享信息,并在服 ...

javascript高级程序设计读书笔记

第2章  在html中使用javascript 一般都会把js引用文件放在

你可能感兴趣的:(python,输入框界面窗体)