日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python中的tkinter模块

發(fā)布時間:2023/12/20 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的tkinter模块 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

tkinter介紹


tkinter是python自帶的GUI庫,是對圖形庫TK的封裝

tkinter是一個跨平臺的GUI庫,開發(fā)的程序可以在win,linux或者mac下運行

除此之外還存在很多圖形庫,例如

pythonWin 僅適合window的界面編程庫 wxPython 第三方界面編程庫

組件概念


一個窗口中任意內(nèi)容都可以稱之為一個組件

tkinter的組件包含以下幾種

按鈕組件

Button 按鈕組件 RadioButton 單選框組件 CheckButton 選擇按鈕組件 Listbox 列表框組件

文本輸入框組件

Entry 單行文本框組件 Text 多行文本框組件

標(biāo)簽組件

Label 標(biāo)簽組件,可以顯示圖片和文字 Message 標(biāo)簽組件,可以根據(jù)內(nèi)容將文字換行

菜單組件

Menu 菜單組件 MenuButton 菜單按鈕組件,可以使用Menu代替

滾動條組件

scale 滑塊組件 Scrollbar 滾動條組件

其他組件

Canvas 畫布組件 Frame 框架組件,將多個組件編組 Toplevel 創(chuàng)建子窗口容器組件

創(chuàng)建簡單的窗口


import tkinter #生成主窗口對象 root = tkinter.Tk() #保持主窗口一直消息循環(huán)中。。 root.mainloop()

帶有組件的窗口

import tkinter #生成主窗口對象 root = tkinter.Tk() #創(chuàng)建標(biāo)簽 并且添加到主窗口中 label = tkinter.Label(root,text = '爺來了') label.pack() #創(chuàng)建按鈕,并且添加到主窗口中 btn1 = tkinter.Button(root,text = '按鈕1') btn1.pack() btn2 = tkinter.Button(root,text = '按鈕2') btn2.pack() #保持主窗口一直消息循環(huán)中。。 root.mainloop()

組件布局


組件布局一共三種方式

pack() 按照方位布局 place() 按照坐標(biāo)布局 grid() 按照網(wǎng)格布局

1.pack布局方法


所有的Tkinter組件都包含專用的幾何管理方法,這些方法是用來組織和管理整個父配件區(qū)中子配件的布局的。Tkinter提供了截然不同的三種幾何管理類:pack、grid和place。

pack幾何管理采用塊的方式組織配件,在快速生成界面設(shè)計中廣泛采用,若干組件簡單的布局,采用pack的代碼量最少。pack幾何管理程序根據(jù)組件創(chuàng)建生成的順序?qū)⒔M件添加到父組件中去。通過設(shè)置相同的錨點(anchor)可以將一組配件緊挨一個地方放置,如果不指定任何選項,默認在父窗體中自頂向下添加組件。

pack()布局的通用公式

組件對象.pack(設(shè)置, …) 名稱描述取值范圍
expand當(dāng)值為“yes”時,side選項無效。組件顯示在父配件中心位置;若fill選項為”both”,則填充父組件的剩余空間。“yes”, 自然數(shù), “no”, 0(默認值為“no”或0)
fill填充x(y)方向上的空間,當(dāng)屬性side=”top”或”bottom”時,填充x方向;當(dāng)屬性side=”left”或”right”時,填充”y”方向;當(dāng)expand選項為”yes”時,填充父組件的剩余空間。“x”, “y”, “both”(默認值為待選)
ipadx, ipady組件內(nèi)部在x(y)方向上填充的空間大小,默認單位為像素,可選單位為c(厘米)、m(毫米)、i(英寸)、p(打印機的點,即1/27英寸),用法為在值后加以上一個后綴既可。非負浮點數(shù)(默認值為0.0)
padx, pady組件外部在x(y)方向上填充的空間大小,默認單位為像素,可選單位為c(厘米)、m(毫米)、i(英寸)、p(打印機的點,即1/27英寸),用法為在值后加以上一個后綴既可。非負浮點數(shù)(默認值為0.0)
side定義停靠在父組件的哪一邊上。“top”, “bottom”, “l(fā)eft”, “right”(默認為”top”)
before將本組件于所選組建對象之前pack,類似于先創(chuàng)建本組件再創(chuàng)建選定組件。已經(jīng)pack后的組件對象
after將本組件于所選組建對象之后pack,類似于先創(chuàng)建選定組件再本組件。已經(jīng)pack后的組件對象
in_將本組件作為所選組建對象的子組件,類似于指定本組件的master為選定組件。已經(jīng)pack后的組件對象
anchor相對于擺放組件的位置的對齊方式,左對齊”w”,右對齊”e”,頂對齊”n”,底對齊”s”“n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默認為” center”)

注:以上選項中可以看出expand、fill和side是相互影響的。

pack類提供了下列函數(shù)

函數(shù)名描述
slaves()以列表方式返回本組件的所有子組件對象。
propagate(boolean)設(shè)置為True表示父組件的幾何大小由子組件決定(默認值),反之則無關(guān)。
info()返回pack提供的選項所對應(yīng)得值。
forget()Unpack組件,將組件隱藏并且忽略原有設(shè)置,對象依舊存在,可以用pack(option, …),將其顯示。
location(x, y)x, y為以像素為單位的點,函數(shù)返回此點是否在單元格中,在哪個單元格中。返回單元格行列坐標(biāo),(-1, -1)表示不在其中。
size()返回組件所包含的單元格,揭示組件大小。

2.grid布局方法


grid幾何管理采用類似表格的結(jié)構(gòu)組織配件,使用起來非常靈活,用其設(shè)計對話框和帶有滾動條的窗體效果最好。grid采 用行列確定位置,行列交匯處為一個單元格。每一列中,列寬由這一列中最寬的單元格確定。每一行中,行高由這一行中最高的單元格決定。組件并不是充滿整個單 元格的,你可以指定單元格中剩余空間的使用。你可以空出這些空間,也可以在水平或豎直或兩個方向上填滿這些空間。你可以連接若干個單元格為一個更大空間, 這一操作被稱作跨越。創(chuàng)建的單元格必須相臨。

grid()布局的通用公式為

組件對象.grid(option, …)

grid類提供了下列設(shè)置屬性

名稱描述取值范圍
column組件所置單元格的列號。自然數(shù)(起始默認值為0,而后累加)
columnspan從組件所置單元格算起在列方向上的跨度。自然數(shù)(起始默認值為0)
ipadx, ipady組件內(nèi)部在x(y)方向上填充的空間大小,默認單位為像素,可選單位為c(厘米)、m(毫米)、i(英寸)、p(打印機的點,即1/27英寸),用法為在值后加以上一個后綴既可。非負浮點數(shù)(默認值為0.0)
padx, pady組件外部在x(y)方向上填充的空間大小,默認單位為像素,可選單位為c(厘米)、m(毫米)、i(英寸)、p(打印機的點,即1/27英寸),用法為在值后加以上一個后綴既可。非負浮點數(shù)(默認值為0.0)
row組件所置單元格的行號。自然數(shù)(起始默認值為0,而后累加)
rowspan從組件所置單元格算起在行方向上的跨度。自然數(shù)(起始默認值為0)
in_將本組件作為所選組建對象的子組件,類似于指定本組件的master為選定組件。已經(jīng)pack后的組件對象
sticky組件緊靠所在單元格的某一邊角。“n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默認為” center”)

grid類提供了下列函數(shù)

函數(shù)名描述
slaves()以列表方式返回本組件的所有子組件對象。
propagate(boolean)設(shè)置為True表示父組件的幾何大小由子組件決定(默認值),反之則無關(guān)。
info()返回pack提供的選項所對應(yīng)得值。
forget()Unpack組件,將組件隱藏并且忽略原有設(shè)置,對象依舊存在,可以用pack(option, …),將其顯示。
grid_remove()從網(wǎng)格管理器中刪除此小部件。小部件不會被銷毀,并且可以由網(wǎng)格或任何其他管理器重新顯示。

3.place布局方法


這個的幾何管理器組織放置在一個特定的位置,在他們的父widget部件.

place()布局的通用公式為:

組件對象.place(option, …) 名稱描述取值范圍
anchor相對于擺放組件的坐標(biāo)的位置請參閱:可能是N,E,S,W,東北,西北,東南或西南,羅盤方向指示的widget的角落,雙方默認是凈重(部件上左上角)
height以像素為單位的高度.(絕對布局專用)像素
width以像素為單位的寬度.(絕對布局專用)像素
relheight組件相對于窗口的的高度(相對布局專用)0~1
relwidth組件相對于窗口的的寬度(相對布局專用)0~1
relx水平偏移為0.0和1.0之間浮動,父widget的一小部分的高度和寬度.(相對布局專用)0~1
rely垂直偏移為0.0和1.0之間浮動,父widget的一小部分的高度和寬度.(相對布局專用)0~1
x組件距離左上角的x坐標(biāo)(絕對布局專用)像素
y組件距離左上角的y坐標(biāo)(絕對布局專用)像素

place類提供了下列函數(shù)(使用組件實例對象調(diào)用)

函數(shù)名描述
place_slaves()以列表方式返回本組件的所有子組件對象。
place_configure(option=value)給pack布局管理器設(shè)置屬性,使用屬性(option)= 取值(value)方式設(shè)置
propagate(boolean)設(shè)置為True表示父組件的幾何大小由子組件決定(默認值),反之則無關(guān)。
place_info()返回pack提供的選項所對應(yīng)得值。
grid_forget()Unpack組件,將組件隱藏并且忽略原有設(shè)置,對象依舊存在,可以用pack(option, …),將其顯示。
location(x, y)x, y為以像素為單位的點,函數(shù)返回此點是否在單元格中,在哪個單元格中。返回單元格行列坐標(biāo),(-1, -1)表示不在其中
size()返回組件所包含的單元格,揭示組件大小。

組件1 按鈕(button)


用于定義gui界面中的按鈕組件

tkinter.Button(用于存放的父組件,屬性參數(shù)...)

具備以下屬性

anchor 設(shè)置按鈕中文字的對其方式,相對于按鈕的中心位置 background(bg) 設(shè)置按鈕的背景顏色 foreground(fg) 設(shè)置按鈕的前景色(文字的顏色) borderwidth(bd) 設(shè)置按鈕邊框?qū)挾?cursor 設(shè)置鼠標(biāo)在按鈕上的樣式 command 設(shè)定按鈕點擊時觸發(fā)的函數(shù) bitmap 設(shè)置按鈕上顯示的位圖 font 設(shè)置按鈕上文本的字體 width 設(shè)置按鈕的寬度 (字符個數(shù)) height 設(shè)置按鈕的高度 (字符個數(shù)) state 設(shè)置按鈕的狀態(tài) text 設(shè)置按鈕上的文字 image 設(shè)置按鈕上的圖片

組件2 文本框(Entry)和多行文本(Text)


用于定義頁面中文本的單行輸入框

#單行文本 tkinter.Entry(用于存放的父組件,屬性參數(shù)...)

#多行文本
tkinter.Text(用于存放的父組件,屬性參數(shù)…)

具備以下屬性

background(bg) 設(shè)置文本框的背景色 foreground(bg) 設(shè)置文本框的前景色 borderwidth(bd) 設(shè)置文本輸入框的邊框 font 設(shè)置文本框中的字體 width 設(shè)置文本框的寬度(字符個數(shù)) height 設(shè)置文本框的高度(字符個數(shù)),僅限于text state 設(shè)置文本框的狀態(tài) selectbackground 選中文字時文本框的背景色 selectforeground 選中文字時文字的顏色 show 指定文本框顯示的字符,若為*,則表示為密碼框 textvariable 設(shè)置文本對應(yīng)的變量,可以通過修改變量改變文字顯示。必須使用tkinter.IntVar() 或 tkinter.StringVar()產(chǎn)生的變量 entry可以使用

組件3 標(biāo)簽(Lebal)


標(biāo)簽用語在頁面中顯示文字或者圖片

tkinter.Label(用于存放的父組件,屬性參數(shù)...)

具備以下屬性

anchor 設(shè)置文本相對于標(biāo)簽中心的位置 background 設(shè)置標(biāo)簽的背景色 foreground 設(shè)置標(biāo)簽的前景色 borderwidth 設(shè)置標(biāo)簽的邊框?qū)挾?width 設(shè)置標(biāo)簽的寬度(字符個數(shù)) height 設(shè)置標(biāo)簽的高度(字符個數(shù)) text 設(shè)置標(biāo)簽中文本內(nèi)容 font 設(shè)置標(biāo)簽中文字的字體類型 bitmap 設(shè)置標(biāo)簽的現(xiàn)實的位圖 image 設(shè)置標(biāo)簽中顯示的圖片 justify 是設(shè)置標(biāo)簽中多行文本的對其方式 textvariable 設(shè)置文本對應(yīng)的變量,可以通過修改變量改變文字顯示,必須使用tkinter.IntVar() 或者tkinter.StringVar()產(chǎn)生的變量

組件4 菜單(Menu)


菜單用語在界面中設(shè)置菜單,和多級子菜單

在tkinter中,菜單組件的添加與其他組件有所不同。 菜單需要使用所創(chuàng)建的主窗口的 config方法添加到窗口中。

這個小工具的目標(biāo)是,讓我們來創(chuàng)建我們的應(yīng)用程序,可以通過使用各種菜單。核心功能,提供的方式來創(chuàng)建三個菜單類型:彈出式,頂層,和下拉

thinter.Menu(用于存放的父組件,屬性參數(shù)...)

具有以下屬性

activebackground 背景顏色,當(dāng)它在鼠標(biāo)下時將出現(xiàn)在選擇上。 activeborderwidth 指定在鼠標(biāo)下方選擇的邊框的寬度。默認值為1像素。 activeforeground 當(dāng)它在鼠標(biāo)下方時,將出現(xiàn)在選擇上的前景色。 background(bg) 用于不在鼠標(biāo)下的選擇的背景顏色。 borderwidth(bd) 圍繞所有選擇的邊框的寬度。默認值為1。 cursor 當(dāng)鼠標(biāo)在選項上方時出現(xiàn)的光標(biāo),但僅當(dāng)菜單已被關(guān)閉時顯示。 disabledforeground 狀態(tài)為DISABLED的項目的文本顏色。 font 設(shè)置文本的字體 foreground(fd) 用于不在鼠標(biāo)下的選擇的前景色。 postcommand 您可以將此選項設(shè)置為過程,并且每當(dāng)有人啟動此菜單時,將調(diào)用該過程。 relief 菜單的默認3-D效果為relief = RAISED。 image 在這個menubutton上顯示一個圖像。 selectcolor 指定在檢查按鈕和單選按鈕中顯示的顏色。 tearoff 通常情況下,菜單可以被拆除,如果設(shè)置tearoff = 0,菜單將不會有撕紙功能,并且從0位置開始添加選擇。 title 通常,撕下菜單窗口的標(biāo)題將與導(dǎo)致此菜單的menubutton或級聯(lián)文本相同。如果要更改該窗口的標(biāo)題,請將標(biāo)題選項設(shè)置為該字符串。

具有以下方法

add_command(選項) 在菜單中添加一個菜單項。 add_radiobutton(選項) 創(chuàng)建單選按鈕菜單項。 add_checkbutton(選項) 創(chuàng)建一個檢查按鈕菜單項。 add_cascade(選項) 通過將給定的菜單與父菜單相關(guān)聯(lián)來創(chuàng)建新的分層菜單 add_separator() 在菜單中添加分隔線。 add(類型,選項) 在菜單中添加一個特定類型的菜單項。 delete(startindex [,endindex]) 刪除從startindex到endindex的菜單項。 entryconfig(index,options) 允許您修改由索引標(biāo)識的菜單項,并更改其選項。 index(item) 返回給定菜單項標(biāo)簽的索引號。 insert_separator(index) 在index指定的位置插入一個新的分隔符。 invoke(index) 調(diào)用與位置索引選擇相關(guān)聯(lián)的命令回調(diào)。如果一個檢查按鈕,其狀態(tài)在設(shè)置和清除之間切換; 如果一個單選按鈕,那個選擇是設(shè)置的。 type(index) 返回由index指定的選項的類型:“cascade”,“checkbutton”,“command”,“radiobutton”,“separator”或“tearoff”。

萬能實例

from tkinter import * root = Tk() #定義點擊菜單觸發(fā)的方法 def hello():print("hello!") #創(chuàng)建總菜單 menubar = Menu(root) # 創(chuàng)建一個下拉菜單,并且加入文件菜單 filemenu = Menu(menubar) #創(chuàng)建下來菜單的選項 filemenu.add_command(label="Open", command=hello) filemenu.add_command(label="Save", command=hello) #創(chuàng)建下拉菜單的分割線 filemenu.add_separator() filemenu.add_command(label="Exit", command=root.quit) #將文件菜單作為下拉菜單添加到總菜單中,并且將命名為File menubar.add_cascade(label="File", menu=filemenu) # 顯示總菜單 root.config(menu=menubar) root.mainloop()

組件5 單選框(Radiobutton)與復(fù)選框(Checkbutton)


thinter.Radiobutton(用于存放的父組件,屬性參數(shù)...) thinter.Checkbutton(用于存放的父組件,屬性參數(shù)...)

具有以下屬性

anchor 設(shè)置組件中文字的對其方式 background(bg) 指定組件的背景色。   borderwidth(bd) 指定組件邊框的寬度。   bitmap 指定組件中的位圖。   font 指定組件中文本的字體。   foreground(fg) 指定組件的前 height 指定組件的高度。   image 指定組件中的圖片。   justify 指定組件中多行文本的對齊方式。   text 指定組件中的文本,可以 使用“\ n” 表示換行。   value 指定組件被選中后(單選框) onvalue 組件勾選狀態(tài)值(復(fù)選框) offvalue 組件取消勾選狀態(tài)的值(復(fù)選框) variable 指定組件所關(guān)聯(lián)的變量。需要使用tkinter. IntVar()或者tkinter. StringVar()創(chuàng)建的值 width 指定組件的寬度。 command 設(shè)置復(fù)選框操作的觸發(fā)命令(復(fù)選框)

組件6 消息對話框(messagebox)


用于界面提示成功,失敗,警告等相關(guān)信息提示框

tkinter。messagebox.FunctionName(title, message [, options])

參數(shù):
FunctionName: 這是相應(yīng)的消息框函數(shù)的名稱.

title: 這是在一個消息框,標(biāo)題欄顯示的文本.

message: 這是要顯示的文字作為消息.

options: 選項有替代的選擇,你可以用它來定制一個標(biāo)準(zhǔn)的消息框。一些可以使用的選項是默認和家長。默認選項是用來指定默認的按鈕,如中止,重試,或忽略在消息框中。父選項是用來指定要顯示的消息框上的頂層窗口.

你可以使用以下功能之一

showinfo() 顯示信息對話框 showwarning() 提示警告對話框 showerror() 顯示錯誤對話 askquestion() 問題對話框 askokcancel() 確定還是取消對話框 askyesno() 是不是對話框 askretrycancel() 重試或者取消對話框

除了上述6個標(biāo)準(zhǔn)消息框外,還可以使用tkinter.messagebox._show函數(shù)創(chuàng)建其他類型 的消息框。tkinter.messagebox._show函數(shù)的控制參數(shù)如下。

  default 指定消息框的按鈕。 icon 指定消息框的圖標(biāo)。  message 指定消息框所顯示的消息。 parent 指定消息框的父組件。 title 指定消息框的標(biāo)題。 type 指定消息框的類型。

使用標(biāo)準(zhǔn)對話框(簡單對話/文件對話/顏色對話)


使用 tkinter.simpledialog 模塊、tkinter.filedialog 模塊、 tkinter.colorchooser 模塊可以創(chuàng)建標(biāo)準(zhǔn)的對話框。

tkinter.simpledialog模塊 可以創(chuàng)建標(biāo)準(zhǔn)的輸入對話框。 tkinter.filedialog模塊 可以創(chuàng)建文件打開和保存文件對話框。 tkinter.colorchooser模塊 可以創(chuàng)建顏色選擇對話框。

tkinter.simpledialog模塊

tkinter.simpledialog模塊可以使用函數(shù)創(chuàng)建三種類型的對話框

tkinter.simpledialog.askstring(標(biāo)題,提示文字,初始值) 輸入字符串 tkinter.simpledialog.askinteger(title,prompt,initialvalue) 輸入整數(shù) tkinter.simpledialog.askfloat(title,prompt,initialvalue) 輸入浮點型

注意:第三個參數(shù)為關(guān)鍵字參數(shù)

tkinter.filedialog模塊

tkinter.filedialog模塊中可以使用兩種類型的對話框

tkinter.filedialog.askopenfilename(關(guān)鍵字參數(shù)傳入) 創(chuàng)建標(biāo)準(zhǔn)的【 打開 文件】對話框。 tkinter.filedialog.askdirectory(關(guān)鍵字參數(shù)傳入) 創(chuàng)建標(biāo)準(zhǔn)的【 打開 文件夾】對話框。 tkinter.filedialog.asksaveasfilename(關(guān)鍵字參數(shù)傳入) 可以創(chuàng)建標(biāo)準(zhǔn)的【 保存 文件】對話框。

askdirectory(**options)
Ask for a directory, and return the file name

askopenfile(mode='r', **options)
Ask for a filename to open, and returned the opened file

askopenfilename(**options)
Ask for a filename to open

askopenfilenames(**options)
Ask for multiple filenames to open

Returns a list of filenames or empty list if
cancel button selected

askopenfiles(mode='r', **options)
Ask for multiple filenames and return the open file
objects
returns a list of open file objects or an empty list if
cancel selected

asksaveasfile(mode='w', **options)
Ask for a filename to save as, and returned the opened file

asksaveasfilename(**options)
Ask for a filename to save as

其具有以下幾個相同的可選參數(shù)

  filetypes 指定文件類型。   initialdir 指定默認目錄。   initialfile 指定默認文件。   title 指定對話框標(biāo)題。

tkinter.colorchooser模塊

tkinter.colorchooser模塊中的askcolor函數(shù)可以創(chuàng)建標(biāo)準(zhǔn)的【顏色 選擇】對話框, 其具有以下幾個可選參數(shù)

tkinter.colorchooser.askcolor(關(guān)鍵字參數(shù)傳入)

initialcolor 指定 初始化 顏色。  
title 指定 對話框 標(biāo)題。

組件6 Frame 框架


thinter.Menu(用于存放的父組件,屬性參數(shù)...)

具有以下屬性

background(bg) 正常的背景顏色顯示在標(biāo)簽和指示器后面。 borderwidth(bd) 指標(biāo)周圍邊界的大小。默認值為2像素。 cursor 如果將此選項設(shè)置為光標(biāo)名稱(箭頭,點等),則鼠標(biāo)光標(biāo)將在檢查按鈕上方更改為該模式。 height 新框架的垂直尺寸。 highlightbackground 當(dāng)框架沒有焦點時,焦點的顏色突出顯示。 highlightcolor 當(dāng)框架具有焦點時,焦點突出顯示的顏色。 highlightthickness 焦點亮點的厚度。 relief 使用默認值,relief = FLAT,檢查按鈕不會從背景中脫穎而出。您可以將此選項設(shè)置為任何其他樣式 width checkbutton的默認寬度取決于所顯示的圖像或文字的大小。你可以設(shè)置此選項的字符數(shù)和checkbutton的,總是有許多字符的空間。

組件7 Toplevel


頂層部件的工作,直接由窗口管理器管理的窗口

thinter.Toplevel ( option, ... )

具有以下屬性

background(bg) 窗口的背景顏色。 borderwidth(bd) 邊框?qū)挾?#xff08;以像素為單位)默認為0。 cursor 當(dāng)鼠標(biāo)在此窗口中時出現(xiàn)的光標(biāo)。 class_ 通常,文本窗口小部件中選擇的文本將導(dǎo)出為窗口管理器中的選擇。如果您不想要該行為,請設(shè)置exportselection = 0。 font 插入窗口小部件的文本的默認字體。 froeground(fg) 在窗口小部件中用于文本(和位圖)的顏色。您可以更改標(biāo)記區(qū)域的顏色; 這個選項只是默認值。 height 窗口高度 relief 通常,頂級窗口將不會有三維邊框。要獲得陰影邊框,請將bd選項設(shè)置為較大的默認值為零,并將relief選項設(shè)置為其中一個常量。 width 所需的窗口寬度。

具有以下方法

deiconify() 在使用iconify或提取方法后顯示窗口。 frame() 返回系統(tǒng)特定的窗口標(biāo)識符。 group(window) 將窗口添加到給定窗口管理的窗口組中。 iconify() 將窗口轉(zhuǎn)換為圖標(biāo),而不會破壞它。 協(xié)議(名稱,函數(shù)) 將函數(shù)注冊為將為給定協(xié)議調(diào)用的回調(diào)函數(shù)。 iconify() 將窗口轉(zhuǎn)換為圖標(biāo),而不會破壞它。 state() 返回窗口的當(dāng)前狀態(tài)。可能的值是正常的,標(biāo)志性的,撤銷的和圖標(biāo)。 transient([master]) 當(dāng)沒有給出參數(shù)時,將窗口轉(zhuǎn)換為給定主機或窗口的父級的臨時(瞬態(tài))窗口。 withdraw() 從屏幕中刪除窗口,而不會破壞它。 maxsize(width,height) 定義此窗口的最大大小。 minsize(width,height) 定義此窗口的最小大小。 positionfrom(who) 定義位置控制器。 resizable(width,height)定義resize標(biāo)志,用于控制窗口是否可以調(diào)整大小。 sizefrom(who) 定義大小控制器。 title(string) 定義窗口標(biāo)題。

事件綁定


之前能夠觸發(fā)操作的只有2個組件,一個按鈕一個菜單的選項卡 command屬性 設(shè)置操作對應(yīng)的函數(shù)

鼠標(biāo)事件類型

<Button-1> 按下了鼠標(biāo)左鍵 <ButtonPress-1> <Button-2> 按下了鼠標(biāo)中鍵 <ButtonPress-2> <Button-3> 按下了鼠標(biāo)右鍵 <ButtonPress-3> <Enter> 鼠標(biāo)進入組件區(qū)域 <Leave> 鼠標(biāo)離開組件區(qū)域 <ButtonRelease-1> 釋放了鼠標(biāo)左鍵 <ButtonRelease-2> 釋放了鼠標(biāo)中鍵 <ButtonRelease-3> 釋放了鼠標(biāo)右鍵 <B1-Moion> 按住鼠標(biāo)左鍵移動 <B2-Moion> 按住鼠標(biāo)中鍵移動 <B3-Moion> 按住鼠標(biāo)右鍵移動 <Double-Button-1> 雙擊鼠標(biāo)左鍵 <Double-Button-2> 雙擊鼠標(biāo)中鍵 <Double-Button-3> 雙擊鼠標(biāo)右鍵 <MouseWheel> 滾動鼠標(biāo)滾輪

鍵盤事件類型

<KeyPress> 表示任何鍵盤按下 <KeyPress-A> 表示按下鍵盤A鍵 A可以設(shè)置為其他的按鍵 <Alt-KeyPress-A> 表示同時按下Alt和A鍵 A可以設(shè)置為其他的按鍵 <Control-KeyPress-A> 表示同時按下Ctrl和A鍵 A可以設(shè)置為其他的按鍵 <Shift-KeyPress-A> 表示同時按下Shift和A鍵 A可以設(shè)置為其他的按鍵 <Double-KeyPress-A> 表示雙擊鍵盤A鍵 A可以設(shè)置為其他的按鍵 <Lock-KeyPress-A> 表示開啟大寫之后鍵盤A鍵 A可以設(shè)置為其他的按鍵 <Alt-Control-KeyPress-A> 表示同時按下alt+Ctrl和A鍵 A可以設(shè)置為其他的按鍵

注意:鍵盤事件除了entry和text組件其他組件的事件最好綁定在主界面上

事件對象中包含的信息

x,y 當(dāng)前觸發(fā)事件時鼠標(biāo)相對觸發(fā)事件的組件的坐標(biāo)值 x_root,y_root 當(dāng)前觸發(fā)事件時鼠標(biāo)相對于屏幕的坐標(biāo)值 char 獲取當(dāng)前鍵盤事件時按下的鍵對應(yīng)的字符 keycode 獲取當(dāng)前鍵盤事件時按下的鍵對應(yīng)的的ascii碼 type 獲取事件的類型 num 獲取鼠標(biāo)按鍵類型 123 左中右 widget 觸發(fā)事件的組件 width/height 組件改變之后的大小和configure()相關(guān)

窗口和組件相關(guān)事件類型

Activate 當(dāng)中組件由不可以用變?yōu)榭捎脮r 針對于state的變值 Deactivate 當(dāng)組件由可用變?yōu)椴豢捎脮r觸發(fā) Configure 當(dāng)組件大小發(fā)生變化時觸發(fā) Destory 當(dāng)組件銷毀時觸發(fā) FocusIn 當(dāng)組件獲取焦點時觸發(fā) 針對于Entry和Text有效 Map 當(dāng)組件由隱藏變?yōu)轱@示時觸發(fā) UnMap 當(dāng)組件由顯示變?yōu)殡[藏時觸發(fā) Perproty 當(dāng)窗口屬性發(fā)生變化時觸發(fā)

事件綁定函數(shù)


組件.bind('事件類型',事件函數(shù))

為一個組件綁定一個操作

組件.bind_class('組件類型','事件類型',事件函數(shù))

為一類組件綁定一個操作 組件類型就是創(chuàng)建組件的方法名 例如按鈕組件:Button

組件.bind_all('事件類型',事件函數(shù))

為所有組件綁定一個操作(所有操作都會當(dāng)作對主界面的操作)

總結(jié)

以上是生活随笔為你收集整理的python中的tkinter模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。