溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

tkinter模塊常用參數(shù)(python3)

發(fā)布時(shí)間:2020-05-29 12:26:23 來(lái)源:網(wǎng)絡(luò) 閱讀:264 作者:qq5c7cda6748081 欄目:編程語(yǔ)言

最近開(kāi)始整理python的資料,博主建立了一個(gè)qq群,希望給大家提供一個(gè)交流的同平臺(tái) 78486745 。

1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk())

root.title('標(biāo)題名')         修改框體的名字,也可在創(chuàng)建時(shí)使用className參數(shù)來(lái)命名;
root.resizable(0,0)        框體大小可調(diào)性,分別表示x,y方向的可變性;
root.geometry('250x150')  指定主框體大小;
root.quit()                退出;
root.update_idletasks()
root.update()             刷新頁(yè)面;

2、初級(jí)樣例

import tkinter
root=tkinter.Tk() #生成root主窗口
label=tkinter.Label(root,text='Hello,GUI') #生成標(biāo)簽
label.pack()        #將標(biāo)簽添加到主窗口
button1=tkinter.Button(root,text='Button1') #生成button1
button1.pack(side=tkinter.LEFT)         #將button1添加到root主窗口
button2=tkinter.Button(root,text='Button2')
button2.pack(side=tkinter.RIGHT)
root.mainloop()             #進(jìn)入消息循環(huán)(必需組件)

3、tkinter中的15種核心組件

Button          按鈕;
    Canvas          繪圖形組件,可以在其中繪制圖形;
    Checkbutton      復(fù)選框;
    Entry           文本框(單行);
    Text             文本框(多行);
    Frame           框架,將幾個(gè)組件組成一組
    Label           標(biāo)簽,可以顯示文字或圖片;
    Listbox         列表框;
    Menu            菜單;
    Menubutton       它的功能完全可以使用Menu替代;
    Message          與Label組件類(lèi)似,但是可以根據(jù)自身大小將文本換行;
    Radiobutton      單選框;
    Scale           滑塊;允許通過(guò)滑塊來(lái)設(shè)置一數(shù)字值
    Scrollbar        滾動(dòng)條;配合使用canvas, entry, listbox, and text窗口部件的標(biāo)準(zhǔn)滾動(dòng)條;
    Toplevel         用來(lái)創(chuàng)建子窗口窗口組件。
(在Tkinter中窗口部件類(lèi)沒(méi)有分級(jí);所有的窗口部件類(lèi)在樹(shù)中都是兄弟。)

4、組件的放置和排版(pack,grid,place)

pack組件設(shè)置位置屬性參數(shù):
    after:        將組件置于其他組件之后;
    before:       將組件置于其他組件之前;
    anchor:        組件的對(duì)齊方式,頂對(duì)齊'n',底對(duì)齊's',左'w',右'e'
    side:        組件在主窗口的位置,可以為'top','bottom','left','right'(使用時(shí)tkinter.TOP,tkinter.E);
    fill            填充方式 (Y,垂直,X,水平)
    expand          1可擴(kuò)展,0不可擴(kuò)展
grid組件使用行列的方法放置組件的位置,參數(shù)有:
    column:         組件所在的列起始位置;
    columnspam:     組件的列寬;
    row:         組件所在的行起始位置;
    rowspam:      組件的行寬;
place組件可以直接使用坐標(biāo)來(lái)放置組件,參數(shù)有:
    anchor:       組件對(duì)齊方式;
    x:            組件左上角的x坐標(biāo);
    y:             組件右上角的y坐標(biāo);
    relx:          組件相對(duì)于窗口的x坐標(biāo),應(yīng)為0-1之間的小數(shù);
    rely:           組件相對(duì)于窗口的y坐標(biāo),應(yīng)為0-1之間的小數(shù);
    width:          組件的寬度;
    heitht:        組件的高度;
    relwidth:       組件相對(duì)于窗口的寬度,0-1;
    relheight:     組件相對(duì)于窗口的高度,0-1;

5、使用tkinter.Button時(shí)控制按鈕的參數(shù)

最近開(kāi)始整理python的資料,博主建立了一個(gè)qq群,希望給大家提供一個(gè)交流的同平臺(tái) 78486745 。

anchor:            指定按鈕上文本的位置;
    background(bg)       指定按鈕的背景色;
    bitmap:            指定按鈕上顯示的位圖;
    borderwidth(bd)    指定按鈕邊框的寬度;
    command:          指定按鈕消息的回調(diào)函數(shù);
    cursor:            指定鼠標(biāo)移動(dòng)到按鈕上的指針樣式;
    font:               指定按鈕上文本的字體;
    foreground(fg)     指定按鈕的前景色;
    height:            指定按鈕的高度;
    image:             指定按鈕上顯示的圖片;
    state:              指定按鈕的狀態(tài)(disabled);
    text:               指定按鈕上顯示的文本;
    width:             指定按鈕的寬度
    padx               設(shè)置文本與按鈕邊框x的距離,還有pady;
    activeforeground    按下時(shí)前景色
    textvariable        可變文本,與StringVar等配合著用

6、文本框tkinter.Entry,tkinter.Text控制參數(shù)

background(bg)      文本框背景色;
    foreground(fg)        前景色;
    selectbackground    選定文本背景色;
    selectforeground    選定文本前景色;
    borderwidth(bd)      文本框邊框?qū)挾龋?    font                 字體;
    show                文本框顯示的字符,若為*,表示文本框?yàn)槊艽a框;
    state               狀態(tài);
    width              文本框?qū)挾?    textvariable        可變文本,與StringVar等配合著用

7、標(biāo)簽tkinter.Label組件控制參數(shù)

Anchor            標(biāo)簽中文本的位置;
    background(bg)    背景色;
    foreground(fg)      前景色;
    borderwidth(bd)     邊框?qū)挾龋?    width             標(biāo)簽寬度;
    height            標(biāo)簽高度;
    bitmap             標(biāo)簽中的位圖;
    font               字體;
    image             標(biāo)簽中的圖片;
    justify            多行文本的對(duì)齊方式;
    text             標(biāo)簽中的文本,可以使用'\n'表示換行
    textvariable       顯示文本自動(dòng)更新,與StringVar等配合著用

8、單選框和復(fù)選框Radiobutton,Checkbutton控制參數(shù)

    anchor           文本位置;
    background(bg)   背景色;
    foreground(fg)    前景色;
    borderwidth       邊框?qū)挾龋?    width            組件的寬度;
    height           組件高度;
    bitmap           組件中的位圖;
    image            組件中的圖片;
    font             字體;
    justify          組件中多行文本的對(duì)齊方式;
    text             指定組件的文本;
    value            指定組件被選中中關(guān)聯(lián)變量的值;
    variable          指定組件所關(guān)聯(lián)的變量;
    indicatoron        特殊控制參數(shù),當(dāng)為0時(shí),組件會(huì)被繪制成按鈕形式;
    textvariable       可變文本顯示,與StringVar等配合著用

9、組圖組件Canvas控制參數(shù)

最近開(kāi)始整理python的資料,博主建立了一個(gè)qq群,希望給大家提供一個(gè)交流的同平臺(tái) 78486745 。

    background(bg)      背景色;
    foreground(fg)       前景色;
    borderwidth       組件邊框?qū)挾龋?    width             組件寬度;
    height             高度;
    bitmap             位圖;
    image             圖片;

繪圖的方法主要以下幾種:

    create_arc          圓弧;
    create_bitmap      繪制位圖,支持XBM;
    create_image       繪制圖片,支持GIF(x,y,image,anchor);
    create_line         繪制支線;
    create_oval;        繪制橢圓;
    create_polygon     繪制多邊形(坐標(biāo)依次羅列,不用加括號(hào),還有參數(shù),fill,outline);
    create_rectangle   繪制矩形((a,b,c,d),值為左上角和右下角的坐標(biāo));
    create_text         繪制文字(字體參數(shù)font,);
    create_window      繪制窗口;
    delete              刪除繪制的圖形;
    itemconfig          修改圖形屬性,第一個(gè)參數(shù)為圖形的ID,后邊為想修改的參數(shù);
    move               移動(dòng)圖像(1,4,0),1為圖像對(duì)象,4為橫移4像素,0為縱移像素,然后用root.update()刷新即可看到圖像的移動(dòng),為了使多次移動(dòng)變得可視,最好加上time.sleep()函數(shù);
    只要用create_方法畫(huà)了一個(gè)圖形,就會(huì)自動(dòng)返回一個(gè)ID,創(chuàng)建一個(gè)圖形時(shí)將它賦值給一個(gè)變量,需要ID時(shí)就可以使用這個(gè)變量名。
    coords(ID)          返回對(duì)象的位置的兩個(gè)坐標(biāo)(4個(gè)數(shù)字元組);

對(duì)于按鈕組件、菜單組件等可以在創(chuàng)建組件時(shí)通過(guò)command參數(shù)指定其事件處理函數(shù)。方法為bind;或者用bind_class方法進(jìn)行類(lèi)綁定,bind_all方法將所有組件事件綁定到事件響應(yīng)函數(shù)上。

10、菜單Menu

參數(shù): 
    tearoff          分窗,0為在原窗,1為點(diǎn)擊分為兩個(gè)窗口
    bg,fg           背景,前景
    borderwidth      邊框?qū)挾?    font              字體
    activebackgound   點(diǎn)擊時(shí)背景,同樣有activeforeground,activeborderwidth,disabledforeground
    cursor
    postcommand
    selectcolor      選中時(shí)背景
    takefocus
    title       
    type
    relief

方法:
    menu.add_cascade      添加子選項(xiàng)
    menu.add_command      添加命令(label參數(shù)為顯示內(nèi)容)
    menu.add_separator    添加分隔線
    menu.add_checkbutton  添加確認(rèn)按鈕
    delete                刪除

11、事件關(guān)聯(lián)

bind(sequence,func,add)——
bind_class(className,sequence,func,add)
bind_all(sequence,func,add)
事件參數(shù):  
sequence              所綁定的事件;
func                   所綁定的事件處理函數(shù);
add                    可選參數(shù),為空字符或‘+’;
className             所綁定的類(lèi);

鼠標(biāo)鍵盤(pán)事件
    <Button-1>            鼠標(biāo)左鍵按下,2表示中鍵,3表示右鍵;
    <ButtonPress-1>        同上;
    <ButtonRelease-1>    鼠標(biāo)左鍵釋放;
    <B1-Motion>           按住鼠標(biāo)左鍵移動(dòng);
    <Double-Button-1>     雙擊左鍵;
    <Enter>               鼠標(biāo)指針進(jìn)入某一組件區(qū)域;
    <Leave>               鼠標(biāo)指針離開(kāi)某一組件區(qū)域;
    <MouseWheel>         滾動(dòng)滾輪;
    <KeyPress-A>         按下A鍵,A可用其他鍵替代;
    <Alt-KeyPress-A>      同時(shí)按下alt和A;alt可用ctrl和shift替代;
    <Double-KeyPress-A>    快速按兩下A;
    <Lock-KeyPress-A>     大寫(xiě)狀態(tài)下按A;

窗口事件
    Activate             當(dāng)組件由不可用轉(zhuǎn)為可用時(shí)觸發(fā);
    Configure            當(dāng)組件大小改變時(shí)觸發(fā);
    Deactivate          當(dāng)組件由可用轉(zhuǎn)變?yōu)椴豢捎脮r(shí)觸發(fā);
    Destroy              當(dāng)組件被銷(xiāo)毀時(shí)觸發(fā);
    Expose              當(dāng)組件從被遮擋狀態(tài)中暴露出來(lái)時(shí)觸發(fā);
    Unmap              當(dāng)組件由顯示狀態(tài)變?yōu)殡[藏狀態(tài)時(shí)觸發(fā);
    Map                  當(dāng)組件由隱藏狀態(tài)變?yōu)轱@示狀態(tài)時(shí)觸發(fā);
    FocusIn              當(dāng)組件獲得焦點(diǎn)時(shí)觸發(fā);
    FocusOut            當(dāng)組件失去焦點(diǎn)時(shí)觸發(fā);
    Property             當(dāng)窗體的屬性被刪除或改變時(shí)觸發(fā);
    Visibility           當(dāng)組件變?yōu)榭梢暊顟B(tài)時(shí)觸發(fā);

響應(yīng)事件
event對(duì)象(def function(event)):
    char                按鍵字符,僅對(duì)鍵盤(pán)事件有效;
    keycode            按鍵名,僅對(duì)鍵盤(pán)事件有效;
    keysym             按鍵編碼,僅對(duì)鍵盤(pán)事件有效;
    num                鼠標(biāo)按鍵,僅對(duì)鼠標(biāo)事件有效;
    type                 所觸發(fā)的事件類(lèi)型;
    widget               引起事件的組件;
    width,heigh        組件改變后的大小,僅Configure有效;
    x,y                鼠標(biāo)當(dāng)前位置,相對(duì)于窗口;
    x_root,y_root       鼠標(biāo)當(dāng)前位置,相對(duì)于整個(gè)屏幕

12、彈窗

messagebox._show函數(shù)的控制參數(shù):
    default         指定消息框按鈕;
    icon            指定消息框圖標(biāo);
    message        指定消息框所顯示的消息;
    parent          指定消息框的父組件;
    title           標(biāo)題;
    type            類(lèi)型;

simpledialog模塊參數(shù):
    title           指定對(duì)話框的標(biāo)題;
    prompt         顯示的文字;
    initialvalue    指定輸入框的初始值;

  filedialog    模塊參數(shù):
    filetype       指定文件類(lèi)型;
    initialdir     指定默認(rèn)目錄;
    initialfile    指定默認(rèn)文件;
    title         指定對(duì)話框標(biāo)題

colorchooser模塊參數(shù):
    initialcolor    指定初始化顏色;
    title           指定對(duì)話框標(biāo)題;

13、字體(font)

一般格式:
('Times -10 bold')
('Times',10,'bold','italic') 依次表示字體、字號(hào)、加粗、傾斜

補(bǔ)充:
config 重新配置
label.config(font='Arial -%d bold' % scale.get())
依次為字體,大小(大小可為字號(hào)大?。?,加粗
tkinter.StringVar 能自動(dòng)刷新的字符串變量,可用set和get方法進(jìn)行傳值和取值,類(lèi)似的還有IntVar,DoubleVar...

sys.stdout.flush()  刷新輸出

tkinter模塊常用參數(shù)(python3)

【搜索圓方圓,獲得“python教程”,“python下載”,“python入門(mén)”類(lèi)相關(guān)信息?!?/p>

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI