<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之旅 廣告
                ### 8.2.1 UI 編程概述 編寫 GUI 程序與編寫控制臺程序既有相似點,又有一些差別。一方面,任何程序都要利 用編程語言的順序、循環、分支、函數、模塊等成分來搭建程序總體結構、控制程序流程; 另一方面,控制臺程序要實現的功能一般都沒有現成代碼,需要程序員自己編制,而 GUI 程 序中的界面設計有 GUI 工具包支持,程序員的編程工作可以大大減少。這是因為圖形界面在 技術上涉及很多底層細節,在功能上又具有與特定應用無關的通用性,所以很適合由專業的 軟件廠商來實現,并以工具包的形式提供給程序員使用。 針對不同的操作系統平臺、不同的編程語言,存在不同的 GUI 工具包。每種工具包都有 自己的編程界面和程序設計模式,程序員必須學習并遵循這些模式。有些工具包可以運行在 多種操作系統(如 Windows,Unix,MacOS)之上,并能在多種編程語言中使用,稱為跨平 臺的工具包。程序員一般都固定使用某種跨平臺工具包,而不是換個平臺就換個工具包,因 為學習使用一個新的工具包可能比學習一個新的編程語言還要難! 本書使用 Python 語言提供的標準 GUI 工具包:Tkinter 模塊①。這個模塊的名稱來歷是這 樣的:原先有一種流行的跨平臺 GUI 工具包 Tk,現在 Tkinter 模塊通過定義一些類和函數, 實現了一個在 Python 中使用 Tk 的編程接口。可以簡單地說,Tkinter 就是 Python 版的 Tk。 GUI 編程一般需要如下幾個步驟: 1. 設計界面外觀:這包括創建窗口和其他各種構件,并進行合適的布局。這一步與其 說是程序設計,不如說是美工設計。在流行的 Visual Basic、Eclipse 等集成開發環境 中,這一步只需用鼠標點擊、拖放、調整大小就能完成。 2. 為每個構件定義事件處理程序:這一步是 GUI 開發的核心任務,決定著程序的功能 和與用戶交互時的行為。 3. 編寫應用程序的啟動和總控部分:進行必要的初始化工作之后,進入主循環。 不同應用程序的用戶界面雖然肯定會有不同,但構件的選擇和布局是有很多共性的。讀者如果用過一些 Windows 應用程序(如 MS Office 中的各種程序)的話,一定會發現眾多 Windows 程序在界面風格方面的雷同。以下我們雖然用 Tkinter 來實現 GUI,但各種構件的 用法和布局的討論是有普遍意義的。 GUI 工具包一般都利用面向對象技術實現的,即構件都是對象,具有屬性和方法。構件 對象的屬性用來記錄構件的各種數據特性,構件對象的方法實現構件的行為特性。
                  <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>

                              哎呀哎呀视频在线观看