国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[譯][Tkinter 教程01] 入門: Label 控件

Sike / 1265人閱讀

摘要:已獲原作者授權原系列地址下面我們將以中最簡單的控件控件開始這個系列的教程在中控件用以顯示文字和圖片通常被用來展示信息而非與用戶交互譯者注也可以綁定點擊等事件只是通常不這么用程序員的教程怎么能少了我們尊重這個傳統但我們不說讓我們來秀出吧下面的

已獲原作者授權. 原系列地址: Python Tkinter
Hello Tkinter Label

下面我們將以 Tkinter 中最簡單的控件: Label 控件, 開始這個系列的教程. 在 Tkinter 中, Label 控件用以顯示文字和圖片. Label 通常被用來展示信息, 而非與用戶交互. (譯者注: Label 也可以綁定點擊等事件, 只是通常不這么用).
程序員的教程, 怎么能少了 Hello World . 我們尊重這個傳統, 但我們不說 Hello World, 讓我們來秀出 Hello Tkinter 吧.
下面的 Python 腳本用 Tkinter 創建了一個帶有 "Hello Tkinter" 字樣的窗口. 你可以在 Python 的命令行解釋器中逐行輸入下面的腳本, 也可以將之存入一份文件, 比如 hello.py .

from Tkinter import *  
# if you are working under Python 3, comment the previous line and comment out the following line  
#from tkinter import *  
  
root = Tk()  
  
w = Label(root, text="Hello Tkinter!")  
w.pack()  
  
root.mainloop() 
運行例子

如果你將上述腳本存入文件 hello.py, 那么可以這樣啟動它:

$ python hello.py 

如果你在 Linux Gnome 環境下運行上述命令, 會顯示如下窗口:

在 Windows 系統下是這個樣子:

逐行解釋

在 Tkinter 編程中, 一定少不了 Tkinter 中的 Tk 類. 上例中我們通過星號 ( * ) 來將 Tkinter 中的所有模塊引入命名空間.

from Tkinter import *

要初始化一個 Tkinter 程序, 我們需要一個 root 控件, 即根窗口, 它包括標題欄和其他一些由本地窗口系統提供的裝飾. root 控件需要在創建其他控件前創建, 并且一個窗口只能有一個 root 控件.

root = Tk() 

這之后的一行代碼, 我們創建了一個 Label 控件. 它的第一個參數是其父控件, 在我們這個例子里就是上面的 root 控件. 因此這個 Label 控件是上面的 root 控件的一個子控件. 這個 Label 控件的第二個參數指示其所要顯示的文字.

w = Label(root, text="Hello Tkinter!")

pack() 方法指示這個 Label 的大小為正好可以包裹其中的文字.

w.pack()

當我們啟動了 Tkinter 的消息循環 (event loop) 后, 窗口就會被顯示出來:

root.mainloop()

上面的腳本會一直運行在這個消息隊列中, 直到這個窗口被關閉.

在 Label 中顯示圖片

上面我們已經提到, Label 既可以顯示文字, 也可以顯示圖片. 下面的例子中我們將創建兩個 Label, 一個用以顯示文字, 一個用以顯示圖片:

from Tkinter import *  
  
root = Tk()  
logo = PhotoImage(file="../images/python_logo_small.gif")  
w1 = Label(root, image=logo).pack(side="right")  
explanation = """At present, only GIF and PPM/PGM 
formats are supported, but an interface  
exists to allow additional image file 
formats to be added easily."""  
w2 = Label(root,   
           justify=LEFT,  
           padx = 10,   
           text=explanation).pack(side="left")  
root.mainloop()

上面的腳本運行后, 在 Ubuntu 下顯示如下:

justify 參數指示文字的對齊方向, 可選值為 RIGHT, CENTER, LEFT, 默認為 Center.
padx 參數指定水平方向的邊距, 默認為1像素.
pady 參數指定豎直方向的邊距, 默認為1像素.
上面的例子中, 如果去掉 justifypadx 參數, 那么上面的窗口會顯示為這個樣子:

想讓文字顯示在圖片上面? 好辦! 我們只需要在一個 Label 控件中同時使用圖片和文字的相關選項即可. 默認情況下, 如果為一個 Label 控件指定了圖片, 那么這個 Label
就會只顯示圖片. 要讓圖片和文字一同顯示, 就要使用 compound 選項. 設置其為 CENTER 將使文字顯示在圖片上方:

from Tkinter import *  
  
root = Tk()  
logo = PhotoImage(file="../images/python_logo_small.gif")  
explanation = """At present, only GIF and PPM/PGM 
formats are supported, but an interface  
exists to allow additional image file 
formats to be added easily."""  
w = Label(root,   
          compound = CENTER,  
          text=explanation,   
          image=logo).pack(side="right")  
  
root.mainloop()

我們可以讓圖片顯示在左側, 文字顯示在右側, 讓文字向左對齊, 并在左右兩側空出 10 像素的邊距:

w = Label(root,   
          justify=LEFT,  
          compound = LEFT,  
          padx = 10,   
          text=explanation,   
          image=logo).pack(side="right")  

設置 compound 為 BOTTOM, LEFT, RIGHT, TOP, 圖片就會顯示在相應的位置上.

顏色和字體

諸如 Label, Text, Canvas 等控件, 支持指定字體, 通過 font 屬性設置即可實現. 需要特別注意的是字體不是平臺獨立的.
fg (foreground) 屬性可以指定字體的顏色, bg 屬性可以指定控件的背景顏色.

from Tkinter import *  
  
root = Tk()  
  
Label(root,   
         text="Red Text in Times Font",  
         fg = "red",  
         font = "Times").pack()  
Label(root,   
         text="Green Text in Helvetica Font",  
         fg = "light green",  
         bg = "dark green",  
         font = "Helvetica 16 bold italic").pack()  
Label(root,   
         text="Blue Text in Verdana bold",  
         fg = "blue",  
         bg = "yellow",  
         font = "Verdana 10 bold").pack()  
  
root.mainloop() 

上例腳本運行后顯示如下:

改變控件內容

在下面的例子中, Label 中的文字將被自動加1, 直到按鈕被點擊時停止計數:

import Tkinter as tk  
  
counter = 0   
def counter_label(label):  
  def count():  
    global counter  
    counter += 1  
    label.config(text=str(counter))  
    label.after(1000, count)  
  count()  
   
   
root = tk.Tk()  
root.title("Counting Seconds")  
label = tk.Label(root, fg="green")  
label.pack()  
counter_label(label)  
button = tk.Button(root, text="Stop", width=25, command=root.destroy)  
button.pack()  
root.mainloop()  

上面的腳本運行后窗口顯示如下:


全系列:
[譯][Tkinter 教程01] 入門: Label 控件
[譯][Tkinter 教程02] Message 控件
[譯][Tkinter 教程03] Button 控件
[譯][Tkinter 教程04] Variable 類
[譯][Tinkter 教程05] Radiobutton 控件
[譯][Tkinter 教程06] Checkbox 控件
[譯][Tkinter 教程07] Entry 控件
[譯][Tkinter 教程08] Canvas 圖形繪制
[譯][Tkinter 教程09] Scale 控件
[譯][Tkinter 教程10] Text 控件
[譯][Tkinter 教程11] 對話框和消息框
[譯][Tkinter 教程12] 布局管理 (Pack Place Grid)
[譯][Tkinter 教程13] Mastermind 游戲
[譯][Tkinter 教程14] menu 菜單
[譯][Tkinter 教程15] event 事件綁定
譯者水平有限, 如有疏漏, 歡迎指正.
已聯系原作者授權. 原文地址:?
Saying Hello with Labels

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41488.html

相關文章

  • [][Tkinter 教程03] Button 控件

    摘要:已獲原作者授權原系列地址簡介控件是一種標準控件用來展現不同樣式的按鈕控件被用以和用戶交互比如按鈕被鼠標點擊后某種操作被啟動和控件類似按鈕可以展示圖片或者文字不同的是控件可以指定字體控件只能使用單一的字體上的文字可以多行顯示可以將一個函數或方 已獲原作者授權. 原系列地址: Python Tkinter 簡介 Button 控件是一種標準 Tkinter 控件, 用來展現不同樣式的按鈕...

    googollee 評論0 收藏0
  • [][Tkinter 教程14] menu 菜單

    摘要:已獲原作者授權原系列地址簡介一提到這個詞很多人首先想到的是餐館里的菜單雖然餐館菜單和計算機程序中的菜單看起來一點也不像但他們確實有很多共同點在餐館中菜單列舉了所有菜品和飲料在計算機程序中菜單通過圖形界面展示了應用程序可用的命令和功能在用戶界 已獲原作者授權. 原系列地址: Python Tkinter 簡介 一提到menu這個詞, 很多人首先想到的是餐館里的菜單. 雖然餐館菜單和計算...

    joyqi 評論0 收藏0
  • [][Tkinter 教程02] Message 控件

    摘要:已獲原作者授權原系列地址控件控件用來展示一些文字短消息和控件有些類似但在展示文字方面比要靈活比如控件可以改變字體而控件只能使用一種字體它提供了一個換行對象以使文字可以斷為多行它可以支持文字的自動換行及對齊這里要澄清一下前面提到的控件可以改變 已獲原作者授權. 原系列地址: Python Tkinter Message 控件 Message 控件用來展示一些文字短消息. Message...

    JowayYoung 評論0 收藏0
  • [][Tinkter 教程05] Radiobutton 控件

    摘要:已獲原作者授權原系列地址單選按鈕是一種可在多個預先定義的選項中選擇出一項的控件單選按鈕可顯示文字或圖片顯示文字時只能使用預設字體該控件可以綁定一個函數或方法當單選按鈕被選擇時該函數或方法將被調用單選按鈕這個名字來源于收音機上的調頻按鈕這些按 已獲原作者授權. 原系列地址: Python Tkinter Radio Buttons 單選按鈕是一種可在多個預先定義的選項中選擇出一項的 T...

    shusen 評論0 收藏0
  • [][Tkinter 教程12] 布局管理 (Pack Place Grid)

    摘要:已獲原作者授權原系列地址簡介本文講述如何使用的布局管理被稱作或有三種布局管理方式注意這三種布局管理在同一個里一定不可以混用布局管理有以下功能將控件放置在屏幕上包括控件的位置及控件的大小將控件注冊到本地窗口系統中管理控件在屏幕上的顯示雖然控件 已獲原作者授權. 原系列地址: Python Tkinter 簡介: 本文講述如何使用 tkinter 的布局管理 (被稱作 layout ma...

    xorpay 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<