<p>请看一看-我删除了一些逻辑,但GUI会根据需要进行更新:</p>
<pre><code>from tkinter import*
class NumberValues:
def __init__(self, value):
self.value = value
class NumberGUI:
def __init__(self, parent):
self.numbers = [NumberValues(4000), NumberValues(4000), NumberValues(8000), NumberValues(8000)]
i_value = 0 #value given to radiobutton
#set up for show radio buttons
self.numChoice = IntVar() #instance for IntVar created
self.numChoice.set(0) #sets the initial selection
self.NumberList = []
self.link = [] ###
for num in self.numbers: #for loop outputs show info
self.show_rb = Radiobutton(parent, variable = self.numChoice, value = i_value)
self.show_rb.grid(row = i_value, column = 0)
self.num_label = Label(parent, text = int(num.value))
self.num_label.grid(row = i_value, column = 1)
self.NumberList.append(self.num_label)
self.link.append( (self.show_rb, self.num_label) ) ###
i_value += 1
self.quantity_entry = Entry(parent, width = 15)
self.quantity_entry.grid(row = i_value + 1, column = 0)
self.confirmOrder_btn = Button(parent, text = "Enter Number", command = self.calculate_num)
self.confirmOrder_btn.grid(row = i_value + 1, column = 1)
def calculate_num(self):
placement = int(self.numChoice.get())
###
self.link[placement][1].configure(text = int(self.quantity_entry.get()) )
# main routine
if __name__ == "__main__":
root = Tk()
numberCaluclating = NumberGUI(root)
root.mainloop()
</code></pre>