<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Tkinter 中的菜單和工具欄 > 原文: [http://zetcode.com/tkinter/menustoolbars/](http://zetcode.com/tkinter/menustoolbars/) 在 Tkinter 教程的這一部分中,我們將使用菜單和工具欄。 菜單欄是 GUI 應用中最可見的部分之一。 它是位于各個菜單中的一組命令。 在控制臺應用中,我們必須記住許多奧術命令,在這里,我們將大多數命令分組為邏輯部分。 有公認的標準可以進一步減少學習新應用的時間。 菜單將我們可以在應用中使用的命令分組。 使用工具欄可以快速訪問最常用的命令。 ## Tkinter 簡單菜單 第一個示例顯示了一個簡單的菜單。 `simple_menu.py` ```py #!/usr/bin/env python3 """ ZetCode Tkinter tutorial This program shows a simple menu. It has one action, which will terminate the program, when selected. Author: Jan Bodnar Last modified: April 2019 Website: www.zetcode.com """ from tkinter import Tk, Frame, Menu class Example(Frame): def __init__(self): super().__init__() self.initUI() def initUI(self): self.master.title("Simple menu") menubar = Menu(self.master) self.master.config(menu=menubar) fileMenu = Menu(menubar) fileMenu.add_command(label="Exit", command=self.onExit) menubar.add_cascade(label="File", menu=fileMenu) def onExit(self): self.quit() def main(): root = Tk() root.geometry("250x150+300+300") app = Example() root.mainloop() if __name__ == '__main__': main() ``` 我們的示例將顯示一個菜單項。 通過選擇退出菜單項,我們關閉應用。 ```py menubar = Menu(self.master) self.master.config(menu=menubar) ``` 在這里,我們創建一個菜單欄。 這是一個常規的`Menu`小部件,配置為根窗口的菜單欄。 ```py fileMenu = Menu(menubar) ``` 我們創建一個文件菜單對象。 菜單是一個包含命令的下拉窗口。 ```py fileMenu.add_command(label="Exit", command=self.onExit) ``` 我們向文件菜單添加命令。 該命令將調用`onExit()`方法。 ```py menubar.add_cascade(label="File", menu=fileMenu) ``` 使用`add_cascade()`方法將文件菜單添加到菜單欄。 ![Simple menu](https://img.kancloud.cn/6c/b7/6cb72827f2305e376e9c639d38b1685f_252x206.jpg) 圖:簡單菜單 ## Tkinter 子菜單 子菜單是插入另一個菜單對象的菜單。 下一個示例對此進行了演示。 `submenu.py` ```py #!/usr/bin/env python3 """ ZetCode Tkinter tutorial In this script we create a submenu a separator and keyboard shortcuts to menus. Author: Jan Bodnar Last modified: April 2019 Website: www.zetcode.com """ from tkinter import Tk, Frame, Menu class Example(Frame): def __init__(self): super().__init__() self.initUI() def initUI(self): self.master.title("Submenu") menubar = Menu(self.master) self.master.config(menu=menubar) fileMenu = Menu(menubar) submenu = Menu(fileMenu) submenu.add_command(label="New feed") submenu.add_command(label="Bookmarks") submenu.add_command(label="Mail") fileMenu.add_cascade(label='Import', menu=submenu, underline=0) fileMenu.add_separator() fileMenu.add_command(label="Exit", underline=0, command=self.onExit) menubar.add_cascade(label="File", underline=0, menu=fileMenu) def onExit(self): self.quit() def main(): root = Tk() root.geometry("250x150+300+300") app = Example() root.mainloop() if __name__ == '__main__': main() ``` 在示例中,文件菜單的子菜單中有三個選項。 我們創建一個分隔符和鍵盤快捷鍵。 ```py submenu = Menu(fileMenu) submenu.add_command(label="New feed") submenu.add_command(label="Bookmarks") submenu.add_command(label="Mail") ``` 我們有一個包含三個命令的子菜單。 子菜單是常規菜單。 ```py fileMenu.add_cascade(label='Import', menu=submenu, underline=0) ``` 通過將菜單添加到`fileMenu`而不是菜單欄,我們創建一個子菜單。 `underline`參數創建鍵盤快捷鍵。 它提供了應加下劃線的字符位置。 在我們的情況下,這是第一個。 位置從零開始。 當我們單擊“文件”菜單時,將顯示一個彈出窗口。 導入菜單下劃線一個字符。 我們可以使用鼠標指針或 `Alt + I` 快捷方式選擇它。 ```py fileMenu.add_separator() ``` 分隔符是一條水平線,可以在視覺上分隔菜單命令。 這樣,我們可以將項目分組到一些合理的位置。 ![Submenu](https://img.kancloud.cn/86/36/863640227b918082ff797928689bd69c_252x206.jpg) 圖:子菜單 ## Tkinter 彈出菜單 在下一個示例中,我們創建一個彈出菜單。 彈出菜單也稱為上下文菜單。 它可以顯示在窗口客戶區的任何位置。 `popup_menu.py` ```py #!/usr/bin/env python3 """ ZetCode Tkinter tutorial In this program, we create a popup menu. Author: Jan Bodnar Last modified: April 2019 Website: www.zetcode.com """ from tkinter import Tk, Frame, Menu class Example(Frame): def __init__(self): super().__init__() self.initUI() def initUI(self): self.master.title("Popup menu") self.menu = Menu(self.master, tearoff=0) self.menu.add_command(label="Beep", command=self.bell) self.menu.add_command(label="Exit", command=self.onExit) self.master.bind("<Button-3>", self.showMenu) self.pack() def showMenu(self, e): self.menu.post(e.x_root, e.y_root) def onExit(self): self.quit() def main(): root = Tk() root.geometry("250x150+300+300") app = Example() root.mainloop() if __name__ == '__main__': main() ``` 在我們的示例中,我們使用兩個命令創建一個彈出菜單。 ```py self.menu = Menu(self.master, tearoff=0) ``` 上下文菜單是常規的`Menu`小部件。 `tearoff`函數已關閉。 現在無法將菜單分離到新的頂層窗口中。 ```py self.master.bind("<Button-3>", self.showMenu) ``` 我們將`<Button-3>`事件綁定到`showMenu()`方法。 當我們右鍵單擊窗口的客戶區域時,將生成事件。 ```py def showMenu(self, e): self.menu.post(e.x_root, e.y_root) ``` `showMenu()`方法顯示上下文菜單。 彈出菜單顯示在鼠標單擊的 x 和 y 坐標處。 ![Popup menu`](https://img.kancloud.cn/70/9e/709e7642283babd890a35eb4dc4fd2ff_252x176.jpg) 圖:彈出菜單 ## Tkinter 工具欄 菜單將我們可以在應用中使用的命令分組。 使用工具欄可以快速訪問最常用的命令。 Tkinter 中沒有工具欄小部件。 `toolbar.py` ```py #!/usr/bin/env python3 """ ZetCode Tkinter tutorial In this program, we create a toolbar. Author: Jan Bodnar Last modified: April 2019 Website: www.zetcode.com """ from PIL import Image, ImageTk from tkinter import Tk, Frame, Menu, Button from tkinter import LEFT, TOP, X, FLAT, RAISED class Example(Frame): def __init__(self): super().__init__() self.initUI() def initUI(self): self.master.title("Toolbar") menubar = Menu(self.master) self.fileMenu = Menu(self.master, tearoff=0) self.fileMenu.add_command(label="Exit", command=self.onExit) menubar.add_cascade(label="File", menu=self.fileMenu) toolbar = Frame(self.master, bd=1, relief=RAISED) self.img = Image.open("exit.png") eimg = ImageTk.PhotoImage(self.img) exitButton = Button(toolbar, image=eimg, relief=FLAT, command=self.quit) exitButton.image = eimg exitButton.pack(side=LEFT, padx=2, pady=2) toolbar.pack(side=TOP, fill=X) self.master.config(menu=menubar) self.pack() def onExit(self): self.quit() def main(): root = Tk() root.geometry("250x150+300+300") app = Example() root.mainloop() if __name__ == '__main__': main() ``` 我們的工具欄位于我們放置按鈕的框架上。 ```py toolbar = Frame(self.master, bd=1, relief=RAISED) ``` 工具欄已創建。 它是`Frame`。 我們創建了一個凸起的邊框,以便可見工具欄的邊界。 ```py self.img = Image.open("exit.png") eimg = ImageTk.PhotoImage(self.img) ``` 創建工具欄按鈕的圖像和照片圖像。 ```py exitButton = Button(toolbar, image=eimg, relief=FLAT, command=self.quit) ``` `Button`小部件已創建。 ```py exitButton.pack(side=LEFT, padx=2, pady=2) ``` 工具欄是框架,框架是容器小部件。 我們將按鈕包裝在左側,并添加一些填充。 ```py toolbar.pack(side=TOP, fill=X) ``` 工具欄本身包裝在頂層窗口的頂部。 它是水平拉伸的。 ![Toolbar](https://img.kancloud.cn/6e/2e/6e2e46d1b4ecac53d8d2aab776b8e553_252x206.jpg) 圖:工具欄 在 Tkinter 教程的這一部分中,我們使用了菜單和工具欄。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看