<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 第一步 > 原文: [http://zetcode.com/wxpython/firststeps/](http://zetcode.com/wxpython/firststeps/) 在 wxPython 教程的這一部分中,我們將創建一些簡單的示例。 ## 簡單的例子 我們從一個非常簡單的例子開始。 我們的第一個腳本只會顯示一個小窗口。 它不會做太多。 我們將逐行分析腳本。 `simple.py` ```py #!/usr/bin/env python3 # -*- coding: utf-8 -*- # simple.py import wx app = wx.App() frame = wx.Frame(None, title='Simple application') frame.Show() app.MainLoop() ``` 這是我們在 wxPython 中的第一個示例。 ```py #!/usr/bin/env python3 # -*- coding: utf-8 -*- # simple.py ``` 第一行是 she-bang,后面是通往 Python 解釋器的路徑。 第二行是一個魔術注釋,它指定了源代碼的編碼。 第四行是提供腳本名稱的注釋。 ```py import wx ``` 此行導入基本的 wxPython 模塊。 即核心,控件,GDI,雜項和 windows。 從技術上講,`wx`是一個名稱空間。 基本模塊中的所有功能和對象都將以`wx.`前綴開頭。 下一行代碼將創建一個應用對象。 ```py app = wx.App() ``` 每個 wxPython 程序必須具有一個應用對象。 ```py frame = wx.Frame(None, title='Simple application') frame.Show() ``` 在這里,我們創建一個`wx.Frame`對象。 `wx.Frame`小部件是重要的容器小部件。 稍后我們將詳細分析此小部件。 `wx.Frame`小部件是其他小部件的父級小部件。 它本身沒有父級。 如果為父參數指定`None`,則表明我們的小部件沒有父項。 它是小部件層次結構中的頂部小部件。 創建`wx.Frame`小部件后,必須調用`Show()`方法才能將其實際顯示在屏幕上。 ```py app.MainLoop() ``` 最后一行進入主循環。 主循環是一個無休止的循環。 它捕獲并調度應用生命周期內存在的所有事件。 這是一個非常簡單的例子。 盡管如此簡單,我們仍然可以在此窗口中做很多事情。 我們可以調整窗口大小,最大化,最小化。 此功能需要大量編碼。 wxPython 工具箱默認隱藏了所有這些內容并提供了這些內容。 沒有理由重新發明輪子。 ![Simple example](https://img.kancloud.cn/20/53/205315476658cc8a9328366f43abe117_400x250.jpg) 圖:簡單 example ## 框架 `wx.Frame`小部件是 wxPython 中最重要的小部件之一。 這是一個容器小部件。 這意味著它可以包含其他小部件。 實際上,它可以包含不是框架或對話框的任何窗口。 `wx.Frame`由標題欄,邊框和中央容器區域組成。 標題欄和邊框是可選的。 它們可以通過各種標志刪除。 `wx.Frame`具有以下構造器: ```py wx.Frame(wx.Window parent, int id=-1, string title='', wx.Point pos=wx.DefaultPosition, wx.Size size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, string name="frame") ``` 構造器有七個參數。 第一個參數沒有默認值。 其他六個參數確實具有。 這四個參數是可選的。 前三個是強制性的。 `wx.DEFAULT_FRAME_STYLE`是一組默認標志:`wx.MINIMIZE_BOX` | `wx.MAXIMIZE_BOX` | `wx.RESIZE_BORDER` `wx.SYSTEM_MENU` | `wx.CAPTION` | `wx.CLOSE_BOX` | `wx.CLIP_CHILDREN`。 通過組合各種樣式,我們可以更改`wx.Frame`小部件的樣式。 `no_minimize.py` ```py #!/usr/bin/env python3 # -*- coding: utf-8 -*- # no_minimize.py import wx app = wx.App() frame = wx.Frame(None, style=wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX) frame.Show(True) app.MainLoop() ``` 我們的意圖是顯示一個沒有最小化框的窗口。 因此,我們沒有在`style`參數中指定此標志。 ## 大小和位置 我們可以通過兩種方式指定應用的大小。 我們的小部件的構造器中有一個`size`參數,或者我們可以調用`SetSize()`方法。 `set_size.py` ```py #!/usr/bin/env python3 # -*- coding: utf-8 -*- # set_size.py import wx class Example(wx.Frame): def __init__(self, parent, title): super(Example, self).__init__(parent, title=title, size=(350, 250)) def main(): app = wx.App() ex = Example(None, title='Sizing') ex.Show() app.MainLoop() if __name__ == '__main__': main() ``` 在此示例中,應用的大小為`250x200`像素。 ```py def __init__(self, parent, title): super(Example, self).__init__(parent, title=title, size=(350, 250)) ``` 在構造器中,我們將`wx.Frame`小部件的寬度設置為 350px。 小部件的高度為 250 像素。 同樣,我們可以將應用放置在屏幕上。 默認情況下,窗口位于屏幕的左上角。 但是在各種 OS 平臺甚至窗口管理器上,它可能都不同。 一些窗口管理器自己放置應用窗口。 他們中的一些人做了一些優化,以使窗口不會重疊。 程序員可以以編程方式定位窗口。 我們已經在`wx.Frame`小部件的構造器中看到了`pos`參數。 通過提供默認值以外的其他值,我們可以自己控制位置。 | 方法 | 描述 | | --- | --- | | `Move(wx.Point point)` | 將窗口移至指定位置 | | `MoveXY(int x, int y)` | 將窗口移至指定位置 | | `SetPosition(wx.Point point) `| 設置窗口的位置 | | `SetDimensions(x, y, width, height, sizeFlags)` | 設置窗口的位置和大小 | 有幾種方法可以做到這一點。 `moving.py` ```py #!/usr/bin/env python3 # -*- coding: utf-8 -*- # moving.py import wx class Example(wx.Frame): def __init__(self, parent, title): super(Example, self).__init__(parent, title=title, size=(300, 200)) self.Move((800, 250)) def main(): app = wx.App() ex = Example(None, title='Moving') ex.Show() app.MainLoop() if __name__ == '__main__': main() ``` 有一種特殊情況。 我們可能要最大化顯示我們的窗口。 在這種情況下,窗口位于(0,0),并占據整個屏幕。 wxPython 在內部計算屏幕坐標。 為了最大化我們的`wx.Frame`,我們調用`Maximize()`方法。 ## 在屏幕上居中 如果要在屏幕上居中放置應用,則 wxPython 有一個方便的方法。 `Centre()`方法只是將窗口居中放在屏幕上。 無需計算屏幕的寬度和高度。 只需調用該方法。 `centering.py` ```py #!/usr/bin/env python3 # -*- coding: utf-8 -*- # centering.py import wx class Example(wx.Frame): def __init__(self, parent, title): super(Example, self).__init__(parent, title=title, size=(300, 200)) self.Centre() def main(): app = wx.App() ex = Example(None, title='Centering') ex.Show() app.MainLoop() if __name__ == '__main__': main() ``` 在此示例中,我們在屏幕上居中了一個小窗口。 ```py self.Centre() ``` `Centre()`方法使窗口在屏幕上居中。 在本章中,我們在 wxPython 中創建了一些簡單的代碼示例。
                  <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>

                              哎呀哎呀视频在线观看