gpt4 book ai didi

python - TTK,纽扣上只有一个数字

转载 作者:行者123 更新时间:2023-11-28 22:34:25 25 4
gpt4 key购买 nike

import tkinter
from tkinter import ttk

def main():
root = tkinter.Tk()
numpad = NumPad(root)
root.mainloop()

numbers = [
'7', '8', '9',
'4', '5', '6',
'1', '2', '3']


class NumPad(ttk.Frame):
def __init__(self, root):
ttk.Frame.__init__(self, root)
self.grid()
self.num()

def num(self):
for c in range(1,4):
for r in range(3):
for b in numbers:
cmd = lambda b=b: print(b)
self.b= ttk.Button(self, text=b, command=cmd).grid(row = r, column = c, pady = 5)
#print(b)

main()

我遇到了这段代码的问题,因为当我尝试运行它时,所有按钮上只有 3 个,唯一的输出是 3。我试着看看我做错了什么,但仍然不能找到错误。它只选择“数字”函数中的最后一个数字。

感谢任何帮助。

最佳答案

对于网格上的每个点,您要创建 9 个按钮并将一个按钮放在另一个按钮之上。只有最后一个按钮(对应于 3 的按钮)最终出现并且每次都会出现。相反,您需要根据 cr 找出索引,并且只创建 1 个按钮:

def num(self):
for c in range(1,4):
for r in range(3):
b = (c - 1) * 3 + r
cmd = lambda b=b: print(b)
self.b= ttk.Button(self, text=b, command=cmd).grid(row = r, column = c, pady = 5)
#print(b)

关于python - TTK,纽扣上只有一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977891/

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