我已经使用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")
答案 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
用于程序的其他部分。在程序中同时使用它们并没有错,只是不能在具有共同母版的小部件上使用它们。
这是一个人为的示例,显示了如何在同一应用程序中使用pack
和pack
:
grid