<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之旅 廣告
                ### 編程向導4.1 Kivy基礎 #### 一、安裝Kivy的運行環境 Kivy依賴許多Python庫,例如pygame,gstreamer,PIL,Cario等等,它們并不總是必須的。根據你所運行的系統平臺,環境的安裝可能是一個痛苦。對于Windows和MacOS X平臺,我們提供了一個便捷的安裝包,你僅僅需要解壓就可使用: * [在Windows上安裝](https://kivy.org/docs/installation/installation-windows.html#installation-windows) * [在OS X上安裝](https://kivy.org/docs/installation/installation-osx.html#installation-osx) * [在Linux上安裝](https://kivy.org/docs/installation/installation-linux.html#installation-linux) 如果每一個包庫你都想自己安裝,確保你有最新的Cython和Pygame。一個典型的Pip安裝如下: pip install cython pip install hg+http://bitbucket.org/pygame/pygame pip install kivy 開發版可以使用git安裝: git clone https://github.com/kivy/kivy make #### 二、創建一個應用程序 創建一個kivy應用程序步驟: * 繼承App類 * 實現它的build()方法,它能返回一個部件的實例(你的部件樹的根部件) * 實例化該類,同時調用它的run()方法 下面是一個最小化應用程序的例子: ```Python import kivy kivy.require('1.0.6') # 用你當前的kivy版本替換 from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') if __name__ == '__main__': MyApp().run() ``` 你可以保存上面的代碼到一個諸如main.py的text文件中,并嘗試運行它。 #### 三、Kivy APP的生命周期 首先,讓我們熟悉一下Kivy應用程序的應用周期: ![](http://ww2.sinaimg.cn/large/577d3ebejw1f0wk9sk22jj20m90hm75w.jpg) 正如你上面看到的,對于所有的應用程序,我們的入口就是run()方法,在我們的例子中就是MyApp().run()。我們會面會重新回顧這里。下面我們首先看第一行代碼: from kivy.app import App 你的應用程序的基類需要繼承APP類,它在kivy_installation_dir/kivy/app.py中。 >提示:如果你想進一步的研究APP類,你可以打開該文件進行深入的探討。我們鼓勵你重讀它的代碼。Kivy是基于Python實現的并且其文檔都在實際的文件里。 第二行: from kivy.uix.label import Label 請注意,包的路徑被展示了。uix模塊包含著例如布局、部件等用戶接口元素。 再看第五行: class MyApp(App): 這里定義了我們的應用程序的基類。你僅僅需要改變一下你的應用程序MyApp的名字。 第七行: def build(self): 正如在生命周期圖片顯示的那樣,這是你初始化并返回你的根部件的地方。我們的例子在第八行: return Label(text='Hello Kivy') 這里我們初始化了一個標簽,標簽文本是:Hello Kivy,并返回了它的實例。這個標簽將作為我們應用程序的根部件。 現在我們將在11行和12行運行我們的應用程序: if __name__ == '__main__': MyApp().run() 這里,MyAPP類被實例化并運行了它的run()方法。這樣就初始化并啟動了Kivy應用程序。 #### 四、運行應用程序 為了運行應用程序,根據你的操作系統,按照下面的說明: * Linux: ``` $ python main.py ``` * Windows: ``` $python main.py 或者 c:/appdir>kivy.bat main.py ``` * Mac Os X: ``` $ kivy main.py ``` * Android: 你的應用程序需要一些補充的文件以便在安卓上運行。請參閱[為安卓程序打包](https://kivy.org/docs/guide/packaging-android.html) 運行程序后,一個諸如下面的窗口將被呈現: ![](http://ww1.sinaimg.cn/large/577d3ebejw1f0wkaaatn5j20am08agln.jpg) #### 五、定制應用程序 下面讓我們擴展一下,做一個簡單的用戶名/密碼的輸入頁面。 ```python from kivy.app import App from kivy.uix.gridlayout import GridLayout from kivy.uix.label import Label from kivy.uix.textinput import TextInput class LoginScreen(GridLayout): def __init__(self, **kwargs): super(LoginScreen, self).__init__(**kwargs) self.cols = 2 self.add_widget(Label(text='User Name')) self.username = TextInput(multiline=False) self.add_widget(self.username) self.add_widget(Label(text='password')) self.password = TextInput(password=True, multiline=False) self.add_widget(self.password) class MyApp(App): def build(self): return LoginScreen() if __name__ == '__main__': MyApp().run() ``` 在第二行,我們導入了網格布局: from kivy.uix.gridlayout import GridLayout 在第九行,這個類被用作我們根部件的作為一個基本布局: class LoginScreen(GridLayout): 在第12行,我們重載了方法__init__()以便于我們添加部件和行為: def __init__(self, **kwargs): super(LoginScreen, self).__init__(**kwargs) 我們不能忘記調用父類的super方法,以實現基類的基本功能;同時也要注意在調用super時不要忽略**kwargs參數,因為它們有時在內部使用。 第15行: self.cols = 2 self.add_widget(Label(text='User Name')) self.username = TextInput(multiline=False) self.add_widget(self.username) self.add_widget(Label(text='password')) self.password = TextInput(password=True, multiline=False) self.add_widget(self.password) 我們使用網格布局以兩列來管理它的孩子們,并且每行添加了一個標簽和一個文本輸入框。 運行程序如圖: ![](http://ww1.sinaimg.cn/large/577d3ebejw1f0wkanqa2cj20cm05vdfy.jpg) 試著重新改變窗口大小,你會發現部件會自動調整尺寸。 上面的代碼沒有處理用戶的輸入,沒有使用各種數據驗證,包括部件的尺寸、位置等等。我們將會繼續深入的研究他們。 #### 六、平臺細節 打開一個終端應用程序,并且設置Kivy的環境變量 * 在Windows平臺上,僅僅需要雙擊kivy.bat,一個終端窗口會自動打開,并設置各種變量 * 在nix* 系統下,如果kivy沒有全局安裝,打開終端輸入: export python=$PYTHONPATH:/path/to/kivy_installation ### 下節預告 編程向導4.2 控制環境
                  <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>

                              哎呀哎呀视频在线观看