<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.1.2 圖形界面的組成 應用程序的圖形界面是由底層操作系統支持的,不同操作系統平臺的圖形界面風格不盡相同,但組成界面的圖形元素都是類似的。下面我們采用 Python 的標準圖形界面工具包Tkinter 的術語來介紹圖形界面元素。 圖形界面由多種圖形元素組成,這些圖形元素稱為構件(widget)①。就如一部機器由各種零部件組成一樣,圖形界面這部“機器”的零部件就是構件。從程序角度看,每個構件都 表示了程序的某個數據并提供了對此數據的操作。用戶與構件進行交互,從而使用或控制程 序的某個數據。設計 GUI 時,程序員的任務就是合理地利用各種構件,將它們搭配組合起來,, 目標是提高用戶與應用程序的交互效率。 窗口(window)可能是讀者最熟悉的一種 GUI 構件了②,它是一個由程序控制的矩形屏 幕區域,在此區域中可以放置其他構件。像窗口這樣的能夠容納其他構件的構件,一般稱為 容器(container)。對于窗口,用戶常做的操作是移動、改變大小等。每個 Tkinter 程序都必 須創建一個最外層的窗口,稱為根窗口。 在窗口中通常會布置許多用于與用戶進行交互的構件,如標簽(label)、按鈕(button)、 菜單(menu)等等。這些構件是基本界面元素,它們不再包含其他構件。每種構件都有各自 的用途,例如接受用戶輸入、執行命令、顯示信息等。 如果窗口中包含的構件很多,布置不當的話會使界面雜亂無章,降低界面的易用性。這 時可以用框架(frame)構件來分隔窗口空間和組合構件,以使界面結構清晰。框架也是矩形 屏幕區域,通常用作容器,是建立多級結構的圖形界面的基本組織工具。例如,圖 8.2 顯示 的窗口中用到兩個框架和兩個按鈕,框架 F1 中包含兩個勾選鈕。 > ① 別的系統也有稱為控件或組件的。 > ② 微軟公司的圖形化操作系統干脆以 Windows 命名。 ![](8-2.png) 圖 8.2 多級結構的界面 窗口或框架是容器構件,能夠包含其他構件,由此可見構件之間存在著一種層次關系, 稱為父子關系。在圖 8.2 中,窗口 W 包含框架 F1 等構件,我們稱 W 是 F1 等構件的父構件, F1 等都是 W 的子構件。同樣,F1 又包含勾選鈕 C1 和 C2,故 F1 是 C1 和 C2 的父構件,C1 和 C2 是 F1 的子構件。設計 GUI 時,必須明確指出構件之間的父子關系。仍以圖 8.2 為例: 創建 F1 時必須指明是在 W 中創建,創建 C1 時必須指明是在 F1 中創建。 按照構件之間的父子關系,一個圖形界面中的所有構件形成了一個樹狀層次結構,該層 次結構的最高層是根窗口。任何構件(根窗口除外)必有唯一的父構件,還可能有若干子構 件。 在父構件(窗口或框架)中如何安排子構件的位置?這屬于圖形界面的布局問題,GUI 工具包一般提供布局管理器(layout manager 或 geometry manager)用于布局設計。Tkinter 提供了 Pack、Grid 和 Place 等三種布局管理器,使得在容器中布置子構件的任務輕而易舉。
                  <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>

                              哎呀哎呀视频在线观看