【发布时间】:2018-08-07 14:24:12
【问题描述】:
我正在尝试更改 tkinter 中帧的大小;我正在使用 python 3.0,并且正在为学校项目创建库存管理类型的东西。这是我现在拥有的代码,我正在尝试编辑框架的尺寸。我试图在网上查找,但没有找到我需要的信息。我知道您需要使用:
.geomtry()
内置函数,但我不知道把它放在哪里,或者如何将它与类一起使用。
import tkinter as tk
LARGE_FONT= ("Comic Sans MS", 12)
SMALL_FONT=('Comic sans ms', 8)
class StockManager(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (StartPage, PageOne):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
lbl1 = tk.Label(self, text='Welcome to the stock manager', font=LARGE_FONT)
lbl1.pack(pady=10, padx=10)
lbl2 = tk.Label(self, text='What would you like to do?', font=LARGE_FONT)
lbl2.pack(pady=10, padx=10)
btnShowProducts = tk.Button(self, text='1. Show all products ', font=LARGE_FONT,)
btnShowProducts.pack(anchor='w')
btnSearchProducts = tk.Button(self, text='2. Search for a product ', font=LARGE_FONT)
btnSearchProducts.pack(anchor='w')
btnAddProduct = tk.Button(self, text='3. Add another product ', font=LARGE_FONT)
btnAddProduct.pack(anchor='w')
btnDeleteProduct = tk.Button(self, text='4. Delete a product ', font=LARGE_FONT)
btnClose = tk.Button(self, text='Close Database ', font=LARGE_FONT)
btnClose.pack(anchor='w')
btnNextPage = tk.Button(self, text='Next Page', font=SMALL_FONT)
btnNextPage.pack(anchor='s')
class PageOne(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
label = tk.Label(self, text="Page One!!!", font=LARGE_FONT)
label.pack(pady=10, padx=10)
btnAddTrans = tk.Button(self, text='1. Add a new transaction', font=('comic sans ms', 10)) ##CREATE ADD TRANSACTION HERE
btnShowTrans = tk.Button(self, text='2. Show Transactions', font=('Comic Sans MS', 10))
btnShowTrans.pack(anchor='w')
button1 = tk.Button(self, text="Back to Home")
button1.pack()
button2 = tk.Button(self, text="Next Page")
button2.pack()
menu = StockManager()
menu.mainloop()
【问题讨论】:
-
你确定你的意思是框架和不是顶层或Tk窗口?
-
对不起,我认为 tk.Frame 是它自己的窗口,我的意思是当我运行程序时,会出现一个带有以下按钮和标签等的屏幕,我想增加大小无需拖动角落,并通过编码,我希望它可以清除它。
-
请提供一个可行的例子。目前,如果我要复制粘贴您的代码,它将无法运行。
-
@Mike-SMT 我现在将使用一些您可以运行的代码来编辑问题。道歉
-
@Mike-SMT 编辑兄弟
标签: tkinter python oop tkinter frame