MainFrame(3tk)

NAME
MainFrame - 管理帶有菜單、工具條和狀態條的頂層窗口

創建 CREATION
MainFrame pathName ?option value...?

描述 DESCRIPTION
MainFrame 管理的頂層窗口有: * 建立帶有自動快捷鍵綁定和動態幫助關聯的簡單菜單， * 用戶可以隱藏的一個或多個工具條， * 顯示用戶消息或菜單描述的一個狀態條，和可選的一個進度條。

組件特有選項 WIDGET-SPECIFIC OPTIONS

-height
    以 Tk_GetPixels 可接受的任何形式爲用戶框架指定想要的高度。如果這個選項小於等於零(缺省)則對這個窗口根本不要求任何大小。

-menu (read-only)
    這個選項描述菜單。它是一個列表，每五個元素描述一個級聯菜單。它有下列格式: {菜單名 標籤(tag)列表 菜單Id 撕開項 菜單項...} 這裏的菜單項是一個列表，其中每個元素描述一個菜單項，它們可以是: 一個分隔符: {separator} 一個命令: {command 菜單名 ?標籤列表? ?描述? ?快捷鍵? ?選項值? ...} 複選按鈕: {checkbutton 菜單名 ?標籤列表? ?描述? ?快捷鍵? ?選項值? ...} 單選按鈕: {radiobutton 菜單名 ?標籤列表? ?描述? ?快捷鍵? ?選項值? ...} 一個級聯菜單: {cascad 菜單名 ?標籤列表? 菜單Id 撕開項 菜單項} 這裏的:

    如果菜單名包含一個 &, 則把隨後的字符自動的轉換成 menu add 命令的相應的選項。

    標籤列表是這個條目的所有標籤的列表，用於使用 MainFrame::setmenustate 來啓用或停用菜單條目。 菜單Id 是給這個菜單的 id，你可以用 MainFrame::getmenu 來從它得到菜單路徑名。 撕開項指定菜單是否有撕開條目。 描述爲動態幫助指定字符串。 快捷鍵指定一個擊鍵序列。它是兩個元素的一個列表，其中的第一個元素是 Ctrl、Alt 或 CtrlAlt 之一，而第二個元素是一個字母或數字。建造一個快捷鍵字符串並在頂層窗口上設置相應的綁定來調用菜單項。 選項值爲這個條目指定補充選項(參見 menu add 命令)。 被 ? 包圍的每個值都是可選的並且缺省爲空串，但是如果下列選項是非空則必須提供值。

-separator (只讀)
     指定是否把分隔線畫在用戶窗口的頂部和/或底部。必須是值 none、top、bottom 或 both 之一。 它依賴於用戶窗口的子組件的面型(relief)。

-textvariable
    爲狀態條的標籤指定 textvariable 選項。在這個 MainFrame 的建立的時候把菜單條目的動態幫助描述映射到這個變量。如果用 MainFrame::configure 變更了這個變量，菜單描述將不可獲得。你可以通過修改這個變量的值來變更這個標籤的文字。

-width
    以 Tk_GetPixels 可接受的任何形式爲用戶框架指定想要的寬度。如果這個選項小於等於零(缺省)則對這個窗口根本不要求任何大小。

範例
set descmenu {
    "&File" {} {} 0 {
        {command "&New"     {} "建立一個新文檔"     {Ctrl n} -command Menu::new}
        {command "&Open..." {} "打開一個現存文件" {Ctrl o} -command Menu::open}
        {command "&Save"    open "保存這個文檔" {Ctrl s} -command Menu::save}
        {cascad  "&Export"  {} export 0 {
            {command "Format &1" open "導出文檔爲格式 1" {} -command {Menu::export 1}}
            {command "Format &2" open "導出文檔爲 2" {} -command {Menu::export 2}}
        }}
        {separator}
        {cascad "&Recent files" {} recent 0 {}}
        {separator}
        {command "E&xit" {} "退出應用程序" {} -command Menu::exit}
    }
    "&Options" {} {} 0 {
        {checkbutton "Toolbar" {} "顯示/隱藏工具欄" {}
            -variable Menu::_drawtoolbar
            -command  {$Menu::_mainframe showtoolbar toolbar $Menu::_drawtoolbar}
        }
    }
}

組件命令

pathName addindicator ?arg...?
    在狀態條的右端增加一個指示器(indicator)框。從左到右增加每個指示器。指示器是用 ?arg...? 給出的選項-值配置的一個 Tk 標籤(label)組件。-relief 和 -borderwidth 選項分別缺省爲 sunken(凹陷) 和 1。返回建立的標籤的路徑名。

pathName addtoolbar
    向 MainFrame 添加一個工具條。返回在其中放置工具條的那個新窗口的路徑名。

pathName cget option
    返回用 option 給出的配置選項的當前值。Option 可以是能被建立命令接受的任何值。

pathName configure ?option? ?value option value ...?
    查詢或修改這個組件的配置選項。如果未指定 option ，則返回描述 pathName 的所有可獲得的選項的一個列表。如果指定了不帶 value 的 option，則這個命令返回描述這個指名的 option 的一個列表(這個列表與未指定 option 所返回的值的相應的子集是一樣的)。如果指定了一個或多個選項-值 對，則這個命令把給定的組件選項修改爲給定的值；在這種情況下這個命令返回一個空串。Option 可以是能被建立命令接受的任何值。只讀選項不可修改。

pathName getframe
    返回用戶窗口的路徑名。

pathName getindicator index
    返回第 index 次增加的指示器。

pathName getmenu menuid
    返回 id 是 menuid 的菜單的路徑名。

pathName gettoolbar index
    返回第 index 次增加的工具條的路徑名。

pathName setmenustate tag state
    把有標籤 tag 的所有菜單項的 -state 選項的值設置成 state。

pathName showstatusbar name
    name 是 none、status 或 progression 之一。使用 none 來隱藏狀態條，用 status 來只顯示標籤(label)，或用 progression 來顯示標籤和進度條。

pathName showtoolbar index bool
    如果 bool 是 0 則隱藏第 index 次增加的工具條，如果 bool 是 1 則顯示第 index 次增加的工具條。要防止你的頂層窗口在隱藏/顯示工具條期間調整大小，在操縱(manage)它的時候做 [wm geometry $top [wm geometry $top]] 。

[中文版維護人]
寒蟬退士

[中文版最新更新]
2001/05/06

《中國 Linux 論壇 man 手冊頁翻譯計劃》:
http://cmpp.linuxforum.net

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh