我是靠谱客的博主 高兴流沙,最近开发中收集的这篇文章主要介绍关于python中Tkinter在窗口中新建窗口,get方法无法获取到Entry中的内容(获取为空)的解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
最近在学习python的过程中,想着把学习中的一个学员管理系统案例从TUI改成GUI界面,在添加学员信息的时候,发现无法在新的窗口中获取到输入框Entry当中输入的内容,输入什么都会获取为空,原代码如下
import tkinter
import tkinter.messagebox
from student import *
class StudentManager(object):
def __init__(self):
# 存储学员数据
self.student_list = []
self.student_manager = tkinter.Tk()
self.student_manager.title('学员信息管理系统')
self.student_manager.geometry('600x500')
def add_student(self):
def bc():
ret = tkinter.messagebox.askokcancel(title='提交学员信息', message='是否确认提交?')
students = Student(e1.get(), e2.get(), e3.get())
if ret:
tkinter.messagebox.showinfo(title='提示', message='学员信息提交成功')
self.student_list.append(students)
add_students.destroy()
else:
tkinter.messagebox.showinfo(title='提示', message='学员信息取消提交')
add_students.destroy()
add_students = tkinter.Tk() # 此处要修改!!!!!!
add_students.title('添加学员')
add_students.geometry('250x150')
lab = tkinter.Label(add_students, text='学员姓名')
lab1 = tkinter.Label(add_students, text='学员性别')
lab2 = tkinter.Label(add_students, text='学员电话')
lab.grid(row=0, column=0)
lab1.grid(row=1, column=0)
lab2.grid(row=2, column=0)
e1 = tkinter.StringVar()
e2 = tkinter.StringVar()
e3 = tkinter.StringVar()
entry = tkinter.Entry(add_students, textvariable=e1)
entry1 = tkinter.Entry(add_students, textvariable=e2)
entry2 = tkinter.Entry(add_students, textvariable=e3)
entry.grid(row=0, column=1)
entry1.grid(row=1, column=1)
entry2.grid(row=2, column=1)
bt = tkinter.Button(add_students, text='提交保存', command=bc)
bt.grid(row=3, column=1)
add_students.mainloop()
只需要把代码中,注释指明需要修改那一行,将Tk改为Toplevel即可。
最后
以上就是高兴流沙为你收集整理的关于python中Tkinter在窗口中新建窗口,get方法无法获取到Entry中的内容(获取为空)的解决方法的全部内容,希望文章能够帮你解决关于python中Tkinter在窗口中新建窗口,get方法无法获取到Entry中的内容(获取为空)的解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复