我正在做一些測驗來創建一個 GUI 來提高我的作業性能,我需要創建 10 個條目和一個按鈕,分別獲取所有的值,在此代碼的情況下,只需將其保存在串列框中,但我相信有一種方法可以用回圈來做到這一點,因為我必須使用不同名稱的變數呼叫同一個函式 10 次,并獲取每個變數,創建 10 次獲取和 10 次插入,這使我的代碼變得又大又臟又可怕閱讀。(對不起,奇怪的英語,我正在用谷歌翻譯器翻譯)
from tkinter import *
from tkinter import ttk
class Criar_input(object):
def __init__(self, master):
self.master = master
self.input = Entry(master)
self.input.pack()
def getting():
frase_1 = input_1.input.get()
frase_2 = input_2.input.get()
frase_3 = input_3.input.get()
frase_4 = input_4.input.get()
frase_5 = input_5.input.get()
frase_6 = input_6.input.get()
frase_7 = input_7.input.get()
frase_8 = input_8.input.get()
frase_9 = input_9.input.get()
frase_10 = input_10.input.get()
lb.insert(0, frase_1)
lb.insert(1, frase_2)
lb.insert(2, frase_3)
lb.insert(3, frase_4)
lb.insert(4, frase_5)
lb.insert(5, frase_6)
lb.insert(6, frase_7)
lb.insert(7, frase_8)
lb.insert(8, frase_9)
lb.insert(9, frase_10)
def get_input(master):
bt = Button(master, text='Pressione', command=getting)
bt.pack(side='bottom', expand=1)
app = Tk()
input_1 = Criar_input(app)
input_2 = Criar_input(app)
input_3 = Criar_input(app)
input_4 = Criar_input(app)
input_5 = Criar_input(app)
input_6 = Criar_input(app)
input_7 = Criar_input(app)
input_8 = Criar_input(app)
input_9 = Criar_input(app)
input_10 = Criar_input(app)
lb = Listbox(app)
lb.pack(side='bottom', expand=1)
get_input(app)
app.mainloop()
uj5u.com熱心網友回復:
將小部件保存在串列中,然后遍歷串列。
entries = []
for i in range(10):
entry = Entry(...)
entries.append(entry)
當您需要獲取所有資料時,您可以遍歷小部件串列
for entry in entries:
data = entry.get()
lb.insert("end", data)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/374261.html
上一篇:C for回圈在輸入后結束
