<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之旅 廣告
                # 使用PAGE設計范例 應用程序開發過程的PAGE視圖是使用PAGE一次構建一個GUI窗口的程序,以自動構建在GUI模塊中實現的GUI窗口,并將所有與應用程序相關的支持代碼放入支持模塊。 我希望在拋光外觀和添加小部件時經常更改GUI,但理想情況下只會自動生成一次支持模塊。 困難的編碼工作應僅限于正確使用應用程序,而不是實現Tkinter的約定。 換句話說,重新設計GUI外觀應僅對應用程序代碼產生最小的影響。 我相信在單獨的子目錄中構建GUI和支持模塊是個好主意,因此建議的過程是創建應用程序子目錄并創建您的工作目錄。 PAGE生成一個用于應用程序的頂級窗口。 為此,PAGE會生成兩個Python模塊,即GUI模塊和支持模塊,同時將設計保留在項目文件中。 面向對象編程的正統視圖將對象的所有屬性和方法分組為一個類。 我通常遵循該格言。 PAGE與該規則的不同之處在于,PAGE將自動生成的代碼放置在GUI模塊中,并將手工編碼的事件功能委托給單獨的支持模塊。 PAGE對支持模塊所做的全部工作是可選地創建該模塊的骨架版本,其中包含兩個模塊之間的鏈接以及框架回調函數。 PAGE還可以將支持模塊更新為擴展框架的范圍,以增加返工所需的新回調函數。 這兩個模塊的分離是由于需要一種可靠的方法來重做GUI。 我發現我由于諸如改善外觀,澄清其行為,添加新的小部件以支持新功能等原因而不斷更改GUI。 我稱之為返工。 在研究并編寫了支持模塊的代碼后,我不想將該代碼公開給某些“智能”自動化程序,甚至是我自己的程序,但我仍然想使用PAGE來更新GUI。 實現返工要求PAGE能夠區分自動生成的代碼(可以重寫的代碼)和手寫的代碼(必須保留的代碼)。 我想到的唯一安全的方法是將代碼分成兩個模塊。 **PAGE的最重要要求是保留手動代碼**,因為用戶繞過完善GUI設計以及擴展和測試應用程序的循環。 在構建多個頂級窗口應用程序時,我建議使用PAGE來構建“根”頂級窗口,然后使用相應的生成的Python模塊作為應用程序的主要模塊。 當需要其他頂級窗口時,請使用PAGE進行指定,并將該代碼用作應用程序的其他模塊,可以根據需要將其導入。 (生成的GUI模塊將包含自動生成的功能,以幫助在模塊內創建和銷毀它們。) GUI模塊包含實際使GUI出現在屏幕上的代碼。 通過與GUI交互,用戶會導致發生事件,例如選擇按鈕或向條目添加文本,這些事件實際上會調用回調函數,這些回調函數實現為在支持模塊中找到的函數。 PAGE的設計目標是允許用戶在應用程序完成之前實際執行并查看GUI。 為此,支持模塊的生成將為回調函數提供骨架函數。 當用戶在PAGE中保存時,會將設計保存為tcl文件,然后可以將其用作PAGE的自變量,從而允許用戶修改或擴充GUI。 更重要的是,如果用PAGE擰緊它,則可以在保存GUI的位置重新啟動該過程。 因此,請經常保存。 Tcl GUI設計文件不是可執行的獨立腳本。 它包含Tcl / Tk代碼,并用作tcl源命令的參數。 下圖顯示了PAGE支持的設計/實現循環。 ![](https://img.kancloud.cn/a1/6a/a16ad1716712d7e7750b374e02135139_540x201.png) PAGE生成上面顯示的三個文件。 左側的兩個模塊是將GUI窗口實現為Python程序所必需的。 作者構思的GUI模塊完全由PAGE生成,而支持模塊將使用GUI窗口包含應用程序所需的所有手動編碼的Python。 可以將視為項目名稱,并且必須是合法的Python標識符,因為生成的Python代碼將在import語句中使用。 項目文件以Tcl / Tk模塊的形式記錄GUI窗口描述。 它用作PAGE的輸入,用于后續的返工迭代。 它不是可執行程序。 每次對GUI設計進行一組修改時,您都將需要生成并測試新的GUI模塊。 但是,僅當GUI修改引用新的回調函數時,才需要更改支持模塊。 還有一些其他但不常見的情況。 (它們包括由諸如Label之類的小部件使用的Tkinter變量以及自定義小部件的定義。) 虛線旨在傳達您的想法,即您不希望在每次修改GUI設計時都更改支持模塊。 因此,PAGE具有用于生成GUI模塊和支持模塊的單獨命令。 同樣,GUI模塊的生成有兩個變體,即完整生成和更新支持模塊。 第一次設計GUI時,一個人想要生成兩個Python模塊。 支撐模塊將具有使用GUI模塊所需的所有必要的樣板; 即,即使沒有向骨架回調函數添加任何手動代碼,GUI模塊和支持模塊也應該是可執行程序。 使用GUI的后續修改,可能僅需要通過PAGE更新支持模塊,以在GUI中為新引用的回調等添加骨架功能。 *不會刪除任何代碼* 。此外,還將保存所有生成文件的備份版本。 Please see [Rework](rework.md)
                  <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>

                              哎呀哎呀视频在线观看