python - Python tkinter 中的新输入字段
问题描述
我一直在尝试使用 tkinter 创建一个 python 程序,您可以通过按一个按钮在其中添加两个字段。然后在按下按钮后,代码将获取这两个字段并将它们放入一个变量中。它还有两个标题,它们会根据它是什么数字字段而动态更改,并且每次都放在下面。
我将如何创建一个执行此操作的按钮。到目前为止,我的输入字段代码是:
from tkinter import * #Import the Tkinter module
from tkinter import messagebox #Imports the message box module
from tkinter import font #Imports fonts from tkinter
count = 2
master = Tk() #Tkinter
Label(master, text="Title", font=("Helvetica", 20, "bold underline")).grid(row=0)
Label(master, text="Subtitle 1", font=("Helvetica", 17, "bold underline")).grid(row=2)
Label(master, text="Entry Title 1a").grid(row=3)
Label(master, text="Entry Title 1b").grid(row=4)
entry1 = Entry(master) #Entry Fields
entry2 = Entry(master)
entry1.grid(row=3, column=1) #Puts Entry fields in a certain location
entry2.grid(row=4, column=1) # ^
Label(master, text="Subtitle 2", font=("Helvetica", 17, "bold underline")).grid(row=5)
Label(master, text="Entry title 2a").grid(row=6)
q1=Label(master, text="Entry title 2b").grid(row=7)
entry3 = Entry(master) #Entry Fields
entry4 = Entry(master)
entry3.grid(row=6, column=1)
entry4.grid(row=7, column=1)
提前致谢!
解决方案
据我所知,您想知道如何使用输入字段中的值进行计算。
你这样做的方法是使用.get()
函数。例如entry1.get()
获取entry1
字段中输入的值。
我使用您的代码创建了一个如何执行此操作的示例:
(编辑)我更改了按钮的功能以创建新的条目字段,以访问这些条目字段我将条目字段添加到列表中,您可以从此列表中访问条目。
from tkinter import * #Import the Tkinter module
from tkinter import messagebox #Imports the message box module
from tkinter import font #Imports fonts from tkinter
count = 2
master = Tk() #Tkinter
Label(master, text="Title", font=("Helvetica", 20, "bold underline")).grid(row=0)
Label(master, text="Subtitle 1", font=("Helvetica", 17, "bold underline")).grid(row=2)
Label(master, text="Entry Title 1a").grid(row=3)
Label(master, text="Entry Title 1b").grid(row=4)
entry1 = Entry(master) #Entry Fields
entry2 = Entry(master)
entry1.grid(row=3, column=1) #Puts Entry fields in a certain location
entry2.grid(row=4, column=1) # ^
Label(master, text="Subtitle 2", font=("Helvetica", 17, "bold underline")).grid(row=5)
Label(master, text="Entry title 2a").grid(row=6)
q1=Label(master, text="Entry title 2b").grid(row=7)
entry3 = Entry(master) #Entry Fields
entry4 = Entry(master)
entry3.grid(row=6, column=1)
entry4.grid(row=7, column=1)
button1 = Button(master, text="Button 1", bg="snow", command=lambda: create_entry())
button1.grid(row=8, column=0, columnspan=2)
global row_count, entries
row_count = 9
entries = []
def create_entry():
global row_count, entries
temp_entry = Entry(master)
temp_entry.grid(row=row_count, column=1)
entries.append(temp_entry)
Label(master, text="Entry title " + str(row_count)).grid(row=row_count)
row_count += 1
def entries_multiplied():
value = 1
global entries
for entry in entries:
value *= int(entry.get()) if entry.get() != "" else 1
return value
master.mainloop()
推荐阅读
- php - 仅将 csv 上传到 mysql 选定的列 - laravel
- android - Android - 应用内更新。在哪里指定更新(上传到 playstore 的新 apk)应该是 IMMEDIATE 还是 FLEXIBLE 类型更新?
- c - 仅使用按位转换 long 和 int
- auth0 - 注册后如何重新发送电子邮件验证?
- c++ - 为什么我在“找不到‘X’标识符’”时出现错误
- python - 在 Python LXML 中的 KML 文档中添加命名空间
- excel - Excel - 带有偏移量的平均 IF
- linux - 如何在具有巨大 jtl 文件且具有不同文件系统且磁盘空间有限的 Linux 系统上生成 JMeter 仪表板报告
- ruby-on-rails - 如何在控制器中渲染:new并且不丢失url中的参数?
- javascript - 有没有办法只接受字母而不是数字?如果给出数字,它应该显示验证错误,因为它只需要字母