我是靠谱客的博主 高兴流沙,这篇文章主要介绍关于python中Tkinter在窗口中新建窗口,get方法无法获取到Entry中的内容(获取为空)的解决方法,现在分享给大家,希望可以做个参考。

最近在学习python的过程中,想着把学习中的一个学员管理系统案例从TUI改成GUI界面,在添加学员信息的时候,发现无法在新的窗口中获取到输入框Entry当中输入的内容,输入什么都会获取为空,原代码如下

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部