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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 8.2.5 對話框* 除了利用窗口中的各種構件之外,應用程序與用戶進行交互的另一個重要手段是對話框。 對話框是一個獨立的頂層窗口,通常是在程序執行過程中根據需要而“彈出”的窗口,用于 從用戶獲取輸入或者向用戶顯示消息。 對話框分為兩種類型:模態(modal)和非模態(modeless)對話框①。模態對話框在關 閉之前將阻止程序其他窗口的操作,而非模態對話框則不會阻止程序其他窗口的操作。模態 對話框常用于向用戶警告重要信息,或者等待用戶輸入必需的數據(如登錄用戶名和密碼、 打開或保存文件輸入文件名等)。 Tkinter 提供若干標準模塊用于創建彈出式對話框: + tkMessageBox 模塊:提供一系列用于顯示信息或進行簡單對話的消息框,可通過調 用函數 askokcancel、askquestion、askretrycancel、askyesno、showerror、showinfo 和 showwarning 來創建。 + tkFileDialog 模塊:提供用于文件瀏覽、打開和保存的對話框,可通過調用函數 askopenfilename 和 asksaveasfilename 來創建。 + tkColorChooser 模塊:提供用于選擇顏色的對話框,可通過函數 askcolor 來創建。 > ① 這里“模態”的意思是:對話框影響著程序的某種執行模式(mode)、狀態,因此必須完成對話才能繼續。 非模態對話框則不表示特定程序模式,主程序可以不管對話結果而繼續執行。 以上各種標準對話框模塊的更多細節請參考本章附錄或其他參考資料,在此我們只用幾 個簡單例子演示一下其用法。下面這個語句序列彈出一個簡單的對話框(圖 8.22①),然后根 據用戶的回答進行適當處理。 ``` >>> from Tkinter import * >>> from tkMessageBox import * >>> root = Tk() >>> answer = askokcancel("Dialog","Is that OK?") >>> if answer: ... print "OK" ``` ![](https://box.kancloud.cn/2016-02-22_56cafce6323c6.png) 圖 8.22 askokcancel 對話框 ![](https://box.kancloud.cn/2016-02-22_56cafce645020.png)下面這個語句嘗試打開一個文件,如果打開失敗則彈出一個報錯消息框(圖 8.23),并且 還會發出報警聲響: ``` >>> try: ... f = open(filename) ... except: ... showwarning("Open file","Open failed") ``` 圖 8.23 showwarning 消息框 標準對話框模塊對于應用程序的對話框設計通常已經夠用,但有些應用程序可能需要更 復雜的對話框,這時我們可以定制對話框。設計自定義的對話框窗口與創建其他窗口并無本 質上的不同,主要步驟都是先創建 Toplevel 構件,然后添加所需的輸入區、按鈕和其他構件。 下面是一個定制消息框的簡單程序: > ① 從圖中可見按鈕文本是中文,這是因為 GUI 工具包都建立在底層操作系統的窗口管理器之上,本書作者 的計算機使用中文 Windows,其底層窗口管理器為常見按鈕自動提供了中文文本。如果是英文版操作系統, 應該顯示如函數名所提示的“OK”、“Cancel”、“Yes”、“No”等。 【程序 8.5】eg8_5.py ``` from Tkinter import * def myMessageBox(): top = Toplevel(height=200,width=400) Label(top,text='hello').pack() root = Tk() Button(root,text='click me',command = myMessageBox).pack() root.mainloop() ``` 運行此程序 ,可看到根 窗口中有一 個“ click me ”按鈕, 點擊該按鈕 將調用函數 myMessageBox,此函數首先創建一個頂層窗口,然后在其中添加一個標簽,這相當于定制了 一個簡陋的消息框。
                  <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>

                              哎呀哎呀视频在线观看