<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之旅 廣告
                # PyGTK 中的工具欄 > 原文: [http://zetcode.com/gui/pygtk/toolbars/](http://zetcode.com/gui/pygtk/toolbars/) 在 PyGTK 編程教程的這一部分中,我們將使用工具欄。 菜單將我們可以在應用中使用的命令分組。 使用工具欄可以快速訪問最常用的命令。 ## 簡單的工具欄 接下來,我們創建一個簡單的工具欄。 `toolbar.py` ```py #!/usr/bin/python # ZetCode PyGTK tutorial # # This example shows a toolbar # widget # # author: jan bodnar # website: zetcode.com # last edited: February 2009 import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Toolbar") self.set_size_request(250, 200) self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440)) self.set_position(gtk.WIN_POS_CENTER) toolbar = gtk.Toolbar() toolbar.set_style(gtk.TOOLBAR_ICONS) newtb = gtk.ToolButton(gtk.STOCK_NEW) opentb = gtk.ToolButton(gtk.STOCK_OPEN) savetb = gtk.ToolButton(gtk.STOCK_SAVE) sep = gtk.SeparatorToolItem() quittb = gtk.ToolButton(gtk.STOCK_QUIT) toolbar.insert(newtb, 0) toolbar.insert(opentb, 1) toolbar.insert(savetb, 2) toolbar.insert(sep, 3) toolbar.insert(quittb, 4) quittb.connect("clicked", gtk.main_quit) vbox = gtk.VBox(False, 2) vbox.pack_start(toolbar, False, False, 0) self.add(vbox) self.connect("destroy", gtk.main_quit) self.show_all() PyApp() gtk.main() ``` 該示例顯示了一個工具欄和四個工具按鈕。 ```py toolbar = gtk.Toolbar() ``` `Toolbar`小部件已創建。 ```py toolbar.set_style(gtk.TOOLBAR_ICONS) ``` 在工具欄上,我們僅顯示圖標。 沒有文字。 ```py newtb = gtk.ToolButton(gtk.STOCK_NEW) ``` 創建帶有庫存圖像的`ToolButton`。 ```py sep = gtk.SeparatorToolItem() ``` 這是一個分隔符。 它可用于將工具欄按鈕分組為邏輯組。 ```py toolbar.insert(newtb, 0) toolbar.insert(opentb, 1) ... ``` 工具欄按鈕插入到工具欄小部件中。 ![Toolbar](https://img.kancloud.cn/52/0d/520d5a218b0b2099c85b07726e373ca3_258x228.jpg) 圖:工具欄 ## 工具欄 在第二個示例中,我們顯示了兩個工具欄。 許多應用具有多個工具欄。 我們展示了如何在 PyGTK 中做到這一點。 `toolbars.py` ```py #!/usr/bin/python # ZetCode PyGTK tutorial # # This example shows two toolbars # in the application window # # author: jan bodnar # website: zetcode.com # last edited: February 2009 import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Toolbars") self.set_size_request(350, 300) self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440)) self.set_position(gtk.WIN_POS_CENTER) upper = gtk.Toolbar() upper.set_style(gtk.TOOLBAR_ICONS) newtb = gtk.ToolButton(gtk.STOCK_NEW) opentb = gtk.ToolButton(gtk.STOCK_OPEN) savetb = gtk.ToolButton(gtk.STOCK_SAVE) upper.insert(newtb, 0) upper.insert(opentb, 1) upper.insert(savetb, 2) lower = gtk.Toolbar() lower.set_style(gtk.TOOLBAR_ICONS) quittb = gtk.ToolButton(gtk.STOCK_QUIT) quittb.connect("clicked", gtk.main_quit) lower.insert(quittb, 0) vbox = gtk.VBox(False, 0) vbox.pack_start(upper, False, False, 0) vbox.pack_start(lower, False, False, 0) self.add(vbox) self.connect("destroy", gtk.main_quit) self.show_all() PyApp() gtk.main() ``` 我們的應用顯示了兩個工具欄。 ```py upper = gtk.Toolbar() ... lower = gtk.Toolbar() ``` 我們創建兩個`Toolbar`小部件。 ```py upper.insert(newtb, 0) ... lower.insert(quittb, 0) ``` 它們每個都有自己的工具按鈕。 ```py vbox = gtk.VBox(False, 0) vbox.pack_start(upper, False, False, 0) vbox.pack_start(lower, False, False, 0) ``` 工具欄一個接一個地包裝在垂直盒中。 ![Toolbars](https://img.kancloud.cn/44/f7/44f7016aa005fe6211e9121043df4767_358x328.jpg) 圖:工具欄 s ## 撤銷重做 以下示例演示了如何停用工具欄上的工具欄按鈕。 這是 GUI 編程中的常見做法。 例如,保存按鈕。 如果我們將文檔的所有更改都保存到磁盤上,則在大多數文本編輯器中,“保存”按鈕將被禁用。 這樣,應用會向用戶指示所有更改都已保存。 `undoredo.py` ```py #!/usr/bin/python # ZetCode PyGTK tutorial # # This example shows how to # activate/deactivate a ToolButton # # author: jan bodnar # website: zetcode.com # last edited: February 2009 import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Toolbar") self.set_size_request(250, 200) self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440)) self.set_position(gtk.WIN_POS_CENTER) self.count = 2 toolbar = gtk.Toolbar() toolbar.set_style(gtk.TOOLBAR_ICONS) self.undo = gtk.ToolButton(gtk.STOCK_UNDO) self.redo = gtk.ToolButton(gtk.STOCK_REDO) sep = gtk.SeparatorToolItem() quit = gtk.ToolButton(gtk.STOCK_QUIT) toolbar.insert(self.undo, 0) toolbar.insert(self.redo, 1) toolbar.insert(sep, 2) toolbar.insert(quit, 3) self.undo.connect("clicked", self.on_undo) self.redo.connect("clicked", self.on_redo) quit.connect("clicked", gtk.main_quit) vbox = gtk.VBox(False, 2) vbox.pack_start(toolbar, False, False, 0) self.add(vbox) self.connect("destroy", gtk.main_quit) self.show_all() def on_undo(self, widget): self.count = self.count - 1 if self.count <= 0: self.undo.set_sensitive(False) self.redo.set_sensitive(True) def on_redo(self, widget): self.count = self.count + 1 if self.count >= 5: self.redo.set_sensitive(False) self.undo.set_sensitive(True) PyApp() gtk.main() ``` 我們的示例從 PyGTK 庫存資源創建撤消和重做按鈕。 單擊幾下后,每個按鈕均被禁用。 按鈕顯示為灰色。 ```py self.count = 2 ``` `self.count`變量決定哪個按鈕被激活和禁用。 ```py self.undo = gtk.ToolButton(gtk.STOCK_UNDO) self.redo = gtk.ToolButton(gtk.STOCK_REDO) ``` 我們有兩個工具按鈕。 撤消和重做工具按鈕。 圖片來自庫存資源。 ```py self.undo.connect("clicked", self.on_undo) self.redo.connect("clicked", self.on_redo) ``` 我們為兩個工具按鈕都插入了`clicked`信號的方法。 ```py if self.count <= 0: self.undo.set_sensitive(False) self.redo.set_sensitive(True) ``` 要激活小部件,我們使用`set_sensitive()`方法。 ![Undo redo](https://img.kancloud.cn/e5/7b/e57b8b3f117e5e06719790efe06d182b_258x228.jpg) 圖:撤銷和重做 在 PyGTK 編程庫的這一章中,我們提到了工具欄。
                  <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>

                              哎呀哎呀视频在线观看