若能在輸出入介面加上適當的圖形,會使得操作視窗的介面更加生動。Python透過PhotoImage圖片元件,可以在視窗上加入圖片。
圖片元件適合使用的圖檔格式有:gifpgm以及ppm類型。其語法如下:

物件變數 = tkinter.PhotoImage(file='圖檔路徑或檔名')

tkinter套件的PhotoImage元件只能顯示gifpgm以及ppm類型的圖片。若要顯示jpg圖片,就必須在程式最開頭匯入PIL套件的ImageTKImage模組,就可以使用ImageTk.PhotoImage()來建立顯示JPG的圖片元件,其寫法如下:

from PIL import ImageTk, Image # 匯入PIL套件中的ImageTK 和Image 模組
......
......
物件變數=ImageTk.PhotoImage(Image.open('圖檔路徑或檔名'))

[簡例] (檔名:photoimage01.py)

建立如下書籍選購程式,核取按鈕項目使用 'AEL022700.jpg''AEL022900.jpg''AEL019900.jpg'圖示呈現,當使用者選取要選購的書籍後並按下[確定]鈕,接著會出現對話方塊並顯示選購的書籍以及總金額。

[結果]

說明

  1. 3行:匯入PIL套件中的ImageTKImage模組,即可以使用ImageTk.PhotoImage()來建立顯示JPG的圖片元件。
  2. 5~13行:定義fnOk函式,此函式使用迴圈逐一判斷 isCheckAry字典中的每一個元素的值是否為True,若為True即表示該項書籍被勾選,即將書籍名稱合併到data變數,將書籍價錢累加到total變數,最後使用對話方塊顯示書籍選購結果。
  3. 19行: 建立booksIdAry串列,串列中的元素用來表示書籍書號,書號加上.jpg即代表該書的圖檔。
  4. 20行:建立booksNameAry串列,串列中的元素用來表示書籍名稱。
  5. 21行:建立 booksPriceAry串列,串列中的元素用來表示核取按鈕書籍對應的價格。
  6. 22行:建立isCheckAry空字典,用來存放書籍的核取按鈕的狀態。
  7. 23行:建立bookImg空字典,用來存放書籍項目的顯示的圖片元件。
  8. 2528行:使用迴圈建立各書籍的核取按鈕。
  9. 26行:指定書籍核取按鈕的值為布林型別。
    10.第27行:指定書籍核取按鈕要顯示的圖片元件。
    11.第30行:按下[確定]鈕即執行5~13行的fnOk()函式。

相關主題與延伸閱讀