2010-08-18 186 views
0

我正在研究GUI,我想知道如何調整框架菜單的大小以便讓框架的所有水平空間都被佔用。Tkinter框架的自動調整大小

問題已經改變:現在當窗口大小正常時,菜單按鈕正常,但當調整大小時,菜單按鈕會在窗口中間放下。我怎樣才能讓他們堅持框架的頂部?

rgds,

回答

0

您的問題缺乏足夠的細節給你一個很好的答案。您是否將菜單按鈕放在框架中來創建菜單欄?如果是這樣,那是錯誤的做法。創建一個菜單窗口小部件,並將其分配給主窗口的菜單屬性,然後您將以標準菜單行爲正常結束。

這裏有一個簡單的例子:

import Tkinter 

root = Tkinter.Tk() 
menubar = Tkinter.Menu(root) 
root.config(menu=menubar) 

fileMenu = Tkinter.Menu(menubar, tearoff=False) 
editMenu = Tkinter.Menu(menubar, tearoff=False) 

menubar.add_cascade(label="File",underline=0, menu=fileMenu) 
menubar.add_cascade(label="Edit",underline=0, menu=editMenu) 

fileMenu.add_command(label="Open...", underline=0) 
fileMenu.add_command(label="Save", underline=0) 
fileMenu.add_separator() 
fileMenu.add_command(label="Exit", underline=1) 

editMenu.add_command(label="Cut", underline=2) 
editMenu.add_command(label="Copy", underline=0) 
editMenu.add_command(label="Paste", underline=0) 

root.mainloop() 
+0

謝謝你的提示。我的主窗口是一個框架,它有一個菜單屬性? – Bruno 2010-08-18 12:55:26

+0

@Bruno:「菜單」是上層窗口的屬性。每個Tkinter應用程序至少有(通常只有)一個。這通常被稱爲「根」。我會給我的答案添加一個例子,希望能夠澄清。 – 2010-08-18 13:55:13

+0

謝謝,我試過你的方法,它的效果很好。 只有一個小問題:當我調整窗口的大小時,菜單保留在菜單欄的左側,是否可以讓它們取所有的水平空間(好奇心)? – Bruno 2010-08-18 14:03:45