Tkinter自學01:tkinter 的基本概念

出于自己的小愛好和小需求,需要用到Python GUI編程笛厦,可是看網(wǎng)上的教程并不全面纳鼎,英文有不好,看得費勁裳凸,所以自己找了一些文章綜合歸納起來贱鄙,理一理自己的思路,便于自己學習參考姨谷。
如果有不對的地方還請及時指出逗宁,感謝!

一梦湘、基本概念

tkinter是python內(nèi)置的編寫GUI的庫瞎颗,無需安裝,可以直接從python中導(dǎo)入:
from tkinter import *或者import tkinter an tk
導(dǎo)入tkinter之后捌议,可以調(diào)用tkinter.TkVersion來查看tkinter的版本哼拔,一般8.5以上的版本功能都是比較健全了。

二瓣颅、建立窗口

1. 基本窗口

import tkinter as tk
myWindow = tk.Tk()
myWindow.mainloop()

實際上就是實例化tkinter中的Tk倦逐,然后調(diào)用mainloop()函數(shù)」梗可以得到如下窗口檬姥。


image.png

2.窗口的屬性

方法名稱 說明
title() 設(shè)置窗口標題,默認為tk
geometry("widthxheight+x+y" 設(shè)置窗口的寬粉怕、高和位置健民,單位為像素
maxsize(width,height) 窗口縮放時的最大寬和高
minsize(width,height) 窗口縮放時的最小寬和高
configure(bg="color") 窗口的背景顏色
resizable(True,True) 設(shè)置是否可以更改窗口大小,第一個參數(shù)是寬斋荞,第二個是高荞雏,設(shè)置鎖定窗口大小,則設(shè)置resizeable(0,0)
state("zoomed") 最大化窗口
iconify() 最小化窗口
iconbitmap("xx.ico") 更改默認窗口圖標

推薦自己親自試試平酿。

3.設(shè)置窗口

tkinter模塊中有兩個可以獲取當前屏幕大小的函數(shù)
winfo_screenwidth()------可以獲取當前屏幕寬度
winfo_screenheight()------可以獲取當前屏幕高度
下面是一個獲取屏幕大小凤优,然后使我們的窗口始終置于屏幕中央的小栗子:

# 獲取屏幕大小,使窗口始終置于屏幕中央
import tkinter as tk
myWindow = tk.Tk()

screenWidth = myWindow.winfo_screenwidth()
screenHeight = myWindow.winfo_screenheight()
w = 500
h = 400
x = (screenWidth - w)/2
y = (screenHeight - h)/2

myWindow.geometry("%dx%d+%d+%d" % (w,h,x,y))

myWindow.mainloop()

二蜈彼、窗口的組件(Widget)

1.Tkinter的基本組件

Tkinter類 組件名稱
Label 標簽
Button 按鈕
Entry 文本框
Radiobutton 單選按鈕
Checkbutton 多選按鈕
Frame 框架
LabelFrame 標簽框架
Toplevel 上層窗口
Scale 滑動條
Spinbox 可微調(diào)輸入控件
Message 消息
Listbox 列表框
Scrollbar 滾動條
OptionMenu 下拉式菜單
PanedWindow 面板
Menu 菜單
Text 文字區(qū)域
Canvas 畫布

2.Tkinter.ttk 的組件

由于Tkinter中的組件比較丑筑辨,無法滿足人民日益增長的審美需求,所以Tkinter在后來引入了ttk作為補充(主要就是進行了包裝幸逆、美化)棍辕,并使用了強大的Combobox取代了原來的Listbox,新增了部分現(xiàn)在常用的組件暮现。

ttk繼承的組件
Tkinter類和ttk類都有 組件名稱
Label 標簽
Button 按鈕
Entry 文本框
Radiobutton 單選按鈕
Checkbutton 多選按鈕
Frame 框架
LabelFrame 標簽框架
Scale 滑動條
Scrollbar 滾動條
PanedWindow 面板
Menu 菜單
ttk新增的組件
Tkinter.ttk類 組件名稱
Combobox 組合框
LabeledScale 帶標簽的滑動條
Notebook 多文檔窗口
Progressbar 進度條
Separator 分割線
Treeview

3. 導(dǎo)入ttk模塊

最簡單的
from tkinter import ttk
由于部分ttk組件與tkinter組件一樣,而且更好看楚昭,所以可以考慮覆蓋原有的tkinter組件:

from tkinter import *
from tkinter.ttk import *

使用ttk栖袋,不僅更好看,還能跨平臺使用抚太,但是并沒有100%兼容塘幅。
比如,fg尿贫、bg參數(shù)或一些外觀相關(guān)的參數(shù)tk和ttk是不相同电媳。ttk使用的是ttk.Style類別。

4.組件的通用屬性

通用的屬性 含義
Dimensions 大小
Colors 顏色
Fonts 字形
Anchor 指定組件內(nèi)的信息
Relief styles 屬性邊框
Bitmaps 顯示位圖
Cursors 鼠標外形
Command 關(guān)聯(lián)的命令方法

5.組件的通用方法

通用的方法 參數(shù)
Configuration config(option=value):可以在建立時設(shè)置庆亡,也可以在程序執(zhí)行時使用config( )重新設(shè)置匾乓。cget("option"):取得option參數(shù)值。keys( ):可以用此方法獲得所有該Widget的參數(shù)
Event Processing mainloop( ):讓程序繼續(xù)執(zhí)行又谋,同時進入等待與處理窗口事件拼缝。quit( ):Python Shell窗口結(jié)束,但是所建窗口繼續(xù)執(zhí)行搂根。update( ):更新窗口畫面
Event callbacks bind(event,callback):事件綁定珍促。unbind(event):解除綁定
Alarm handlers 間隔指定時間后調(diào)用callback( )方法

這一章介紹了一些基本的概念,對tkinter有了一個初步的了解剩愧,接下來對具體的組件及其使用進行學習。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娇斩,一起剝皮案震驚了整個濱河市仁卷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌犬第,老刑警劉巖锦积,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異歉嗓,居然都是意外死亡丰介,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門鉴分,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哮幢,“玉大人,你說我怎么就攤上這事志珍〕裙福” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵伦糯,是天一觀的道長柜某。 經(jīng)常有香客問我嗽元,道長,這世上最難降的妖魔是什么喂击? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任剂癌,我火速辦了婚禮,結(jié)果婚禮上翰绊,老公的妹妹穿的比我還像新娘珍手。我一直安慰自己,他們只是感情好辞做,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布琳要。 她就那樣靜靜地躺著,像睡著了一般秤茅。 火紅的嫁衣襯著肌膚如雪稚补。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天框喳,我揣著相機與錄音课幕,去河邊找鬼。 笑死五垮,一個胖子當著我的面吹牛乍惊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播放仗,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼润绎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了诞挨?” 一聲冷哼從身側(cè)響起莉撇,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惶傻,沒想到半個月后棍郎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡银室,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年涂佃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈敢。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡辜荠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤层坠,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布俄精,位于F島的核電站狱从,受9級特大地震影響膨蛮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜季研,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一敞葛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧与涡,春花似錦惹谐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至酌畜,卻和暖如春怎囚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桥胞。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工恳守, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贩虾。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓催烘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缎罢。 傳聞我的和親對象是個殘疾皇子伊群,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容