Python Tkinter 提交按钮

Python Tkinter Submit button

我创建了某种收集有关工作的数据并将答案保存在“提交”button.I 卡在“提交”按钮上的浏览器。如何在这个按钮下保存所有数据。

非常感谢您的帮助。

这只是部分代码,有 2 个问题:

import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter.ttk import *
import win32com.client 

root = tk.Tk()
v = tk.IntVar()

tk.Label(root, text="Full Name").grid(row=0, column = 0)
tk.Entry(root).grid(row=0, column = 1)

tk.Label(root, text="Employy Number").grid(row=1, column = 0)
tk.Entry(root).grid(row=1, column = 1)

tk.Label(root,text="IF you requide for extra training please tick the box.", justify = tk.LEFT, padx = 20).grid(row=6, column = 0)
var1 = IntVar()
Checkbutton(root, text="APR", variable=var1).grid(row=7, column = 0)
var2 = IntVar()
Checkbutton(root, text="THS", variable=var2).grid(row=8, column = 0)
var3 = IntVar()
Checkbutton(root, text="GOOD IN", variable=var3).grid(row=9, column = 0)
var4 = IntVar()
Checkbutton(root, text="DESPATCH", variable=var4).grid(row=10, column = 0)
var5 = IntVar()
Checkbutton(root, text="LLOP", variable=var5).grid(row=11, column = 0)
var6 = IntVar()
Checkbutton(root, text="REACH TRUCK", variable=var6).grid(row=12, column = 0)
var7 = IntVar()
Checkbutton(root, text="CBT", variable=var7).grid(row=13, column = 0)

tk.Label(root, text="If you have any additional comments about your current position, manager ar any thing else please share with us.").grid(row=14, column= 0)
e3 = tk.Entry(root)
e3.grid(row=15, column=0)

#Submit button
def callback():
    print ("I dont know what how collect all data under this button")
MyButton1 = Button(root, text="Submit", width=10, command=callback)
MyButton1.grid(row=16, column=0)

root.mainloop() 

这是获取 Entries 中写入的内容和检查的 Checkbuttons 并打印这些信息的方法(这就是 "saving info in a button" 的意思吗?)

对于Entry,你需要像这样给每个条目起一个名字e1 = tk.Entry(root),然后在第二行将它们网格化e1.grid(row=0, column = 1).

对于Checkbutton,可以查看关联变量的值:var1 == 1表示Checkbutton1被点击,var1 == 0表示未点击。

试试这个(参见我在 callback 中的 print 语句):

import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter.ttk import *
# import win32com.client 

root = tk.Tk()
v = tk.IntVar()

tk.Label(root, text="Full Name").grid(row=0, column = 0)
e1 = tk.Entry(root)
e1.grid(row=0, column = 1)

tk.Label(root, text="Employy Number").grid(row=1, column = 0)
e2 = tk.Entry(root)
e2.grid(row=1, column = 1)

tk.Label(root,text="IF you requide for extra training please tick the box.", justify = tk.LEFT, padx = 20).grid(row=6, column = 0)
var1 = IntVar()
Checkbutton(root, text="APR", variable=var1).grid(row=7, column = 0)
var2 = IntVar()
Checkbutton(root, text="THS", variable=var2).grid(row=8, column = 0)
var3 = IntVar()
Checkbutton(root, text="GOOD IN", variable=var3).grid(row=9, column = 0)
var4 = IntVar()
Checkbutton(root, text="DESPATCH", variable=var4).grid(row=10, column = 0)
var5 = IntVar()
Checkbutton(root, text="LLOP", variable=var5).grid(row=11, column = 0)
var6 = IntVar()
Checkbutton(root, text="REACH TRUCK", variable=var6).grid(row=12, column = 0)
var7 = IntVar()
Checkbutton(root, text="CBT", variable=var7).grid(row=13, column = 0)

tk.Label(root, text="If you have any additional comments about your current position, manager ar any thing else please share with us.").grid(row=14, column= 0)
e3 = tk.Entry(root)
e3.grid(row=15, column=0)

#Submit button
def callback():
    print("e1.get()", e1.get())
    print("var1.get()", var1.get())
    print("var2.get()", var2.get())
    print("var3.get()", var3.get())
    print ("I dont know what how collect all data under this button")
MyButton1 = Button(root, text="Submit", width=10, command=callback)
MyButton1.grid(row=16, column=0)

root.mainloop()