![](/img/trans.png)
[英]Python - Adding new entry box when button is pressed (Tkinter) W/O global code
[英]How to add a new entry box when clicking a button (Python, Tkinter)
嗨,我想在單擊按鈕時添加一個新的輸入框。 我怎樣才能做到這一點? 所做的是我能夠“循環”一組輸入框。 但是我希望通過單擊一個按鈕來一個一個地顯示輸入框。
做了什么
我的代碼:
import tkinter as tk
from tkinter import *
root = Tk()
root.title("Entry box")
root.geometry("700x500")
my_entries = []
def something():
entry_list = ''
for entries in my_entries:
entry_list = entry_list + str(entries.get()) + '\n'
my_label.config(text=entry_list)
print(my_entries[0].get())
for x in range(5):
my_entry = Entry(root)
my_entry.grid(row=0, column=x, pady=20, padx=5)
my_entries.append(my_entry)
my_button = Button(root, text="Click Me!", command=something)
my_button.grid(row=1, column=0, pady=20)
這里沒有太多工作,創建一個變量來跟蹤您要插入小部件的列,然后根據該數字插入它,例如:
# Rest of your code..
my_entries = []
count = 0 # To keep track of inserted entries
def add():
global count
MAX_NUM = 4 # Maximum number of entries
if count <= MAX_NUM:
my_entries.append(Entry(root)) # Create and append to list
my_entries[-1].grid(row=0,column=count,padx=5) # Place the just created widget
count += 1 # Increase the count by 1
Button(root, text='Add', command=add).grid(row=1, column=1, padx=10) # A button to call the function
# Rest of your code..
雖然我不確定您的其他 function 及其功能,但在您創建條目然后單擊該按鈕后它應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.