如何从GRID传递到PACK

时间:2019-08-29 00:40:11

标签: tkinter tkinter-entry

我已经使用pack方法开发了我的GUI应用程序(基于tkinter)以显示所有小部件... 现在,我想创建一个“ 2d数组”并显示并从中获取值。 这是一个基于网格的可行解决方案。我想转换为pack方法的方法。 有什么建议吗?

我不能在pack方法中包括2个循环(行和列)。

from tkinter import *
import tkinter as tk
root = Tk()
entries = []
def set_entries():
    for i in range(10):
        entries.append([])
        for j in range(10):
            entries[i].append(tk.Entry())

            entries[i][j].grid(row=i, column=j, sticky="nsew")
    tk.Button( text=" run", command=compute).grid(row=10,column=10)
def compute():
    print(entries[2][4].get())
set_entries()
root.mainloop()
button.tk.Button(text='run')
button.grid(row=10, column=10, sticky="nsew")


1 个答案:

答案 0 :(得分:0)

我不建议您使用import os from django.core.files import File filepath = "/vagrant/tmp/test_file.pdf" file = File(open(filepath, "rb")) file_name = os.path.basename(file.name) report_type = "My_report_type" report = Report.objects.create( type=report_type, ) report.file.save(file_name, file, save=True) ,因为它并非旨在创建网格。每一行或每一列都需要一个单独的框架,并且要由您确定小部件的大小是否相同,这是使用pack时不需要的大小。

如果您已经在程序的其他部分使用了grid,请为该数组创建一个框架,并为框架中的小部件使用pack,然后使用grid用于程序的其他部分。在程序中同时使用它们并没有错,只是不能在具有共同母版的小部件上使用它们。

这是一个人为的示例,显示了如何在同一应用程序中使用packpack

grid