gpt4 book ai didi

python - 减少多个小部件的创建重复性

转载 作者:行者123 更新时间:2023-11-30 23:24:47 25 4
gpt4 key购买 nike

我正在使用 tkinter 创建一个 GUI 计算器程序,我想知道是否可以创建按钮而不使我的代码变得过长(因为我的程序将包含许多执行相同功能但使用不同值的按钮用于论证)。

代码:

self.divide = tk.Button(self, text = "/", width = 4, command = lambda: self.process("/"))
self.divide.grid(row = 2, column = 3)

self.multiply = tk.Button(self, text = "*", width = 4, command = lambda: self.process("*"))
self.multiply.grid(row = 3, column = 3)

self.minus = tk.Button(self, text = "-", width = 4, command = lambda: self.process("-"))
self.minus.grid(row = 4, column = 3)

self.add = tk.Button(self, text = "+", width = 4, command = lambda: self.process("+"))
self.add.grid(row = 5, column = 3)

如何减少这段代码的重复性?

最佳答案

你可以使buttons可迭代——我建议使用dict。例如。

self.buttons = {}
for i, operation in enumerate(['/','*','-','+']):
self.buttons[operation] = tk.Button(self, text = operation,
width = 4, command = lambda: self.process(operation))
self.buttons[operation].grid(row = i+2, column = 3)

这适用于给出的具体示例,但扩展起来可能并不简单。

关于python - 减少多个小部件的创建重复性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23280767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com