python - 循环中的 Tkinter 名称小部件

标签 python sql tkinter

我目前正在 Tkinter 中创建文本框的“网格”,以模拟高尔夫记分卡系统。我目前正在使用下面的代码来创建这个网格。当我将这些文本框中的条目存储到 Microsoft Access 数据库中时,如果创建的小部件没有唯一名称,我如何使用 .get() 函数从各个文本框中检索值。我真的不想手动创建 105 个文本框,尽管我知道这样做可行。感谢您的帮助。

        for x in range(1, 22):
            for y in range(4, 9):
                e  = tk.Text(self,
                             height=1,
                             width=3)

                e.grid(column=x,
                       row=y)

最佳答案

在这种情况下,我会使用字典,因为它允许您根据小部件的网格位置来引用它们。你可以这样做:

text_widgets = {}
for x in range(1, 22):
    for y in range(4, 9):
        e  = tk.Text(self,
                     height=1,
                     width=3)

        e.grid(column=x,
               row=y)

        text_widgets[(x, y)] = e

这允许您稍后按位置访问小部件 - 因此,如果您想要第 10 列第 7 行中的小部件的值,您可以使用以下方法访问它:

text_widgets[(10, 7)].get('1.0', 'end-1c') 

关于python - 循环中的 Tkinter 名称小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43759189/

相关文章:

python - 使用opencv python进行颜色检测

sql - 如何添加代码初始化sql数据库

sql - EXECUTE 后的事务计数指示缺少 COMMIT 或 ROLLBACK TRANSACTION 语句 - SQL Server 2005

python - 如何让 Tkinter 事件监听器工作?

python - 再次循环导入

python - python UPDATE 命令中的 0L 或 1L 错误

python - 创建 panda 数据框并在 for 循环中 append 值

php - 通过 PHP 和 SQL 输出 XML

python tkinter应用程序多行上相同的文本

python - 将 Tix 小部件添加到 Tkinter 容器