python圖形用戶界面tkinter之按鈕Button的使用說明
python tkinter按鈕Button的使用
創(chuàng)建和設(shè)置窗口
from tkinter import * #創(chuàng)建窗口對象 root = Tk() #窗口屬性設(shè)置 root.title ('窗口標(biāo)題') root.geometry('300x400') root.configure(bg='blue') root.iconbitmap(r'C:\Users\Administrator\Desktop\iVista 2 OS X Icons ico\ico\Burn.ico')
Mark:使用了窗口的iconbitmap函數(shù)更改了圖標(biāo)。
按鈕Button屬性1
def print1(): print('你好') button = Button(root,text='打印', font=('楷體',20),fg='red',bg='black', anchor='center',command=print1, #command是命令的意思 height=1,width=5,bd=6) button.pack() root.mainloop()
效果圖示
Mark:Button按鈕的很多屬性和Label標(biāo)簽類似。
比如文本(text)、文本字體(font)、字體大小、顏色(fg)、文本在Button按鈕中的位置(anchor)、文本中不同行的對齊方式(justify)、按鈕的高度和寬度(height、width)、按鈕的背景色(bg)等等。和Lable標(biāo)簽相比,Button按鈕有回調(diào)函數(shù),command=函數(shù)名,當(dāng)點(diǎn)擊按鈕時,就會執(zhí)行回調(diào)函數(shù)的代碼塊。
按鈕Button屬性2
def hello(): print('你好') im = PhotoImage(file=r'C:\Users\Administrator\Desktop\圖片PNG格式\喜鵲桃花折扇.png') button = Button(root,text='button',command = hello, height=500,width=500,image=im, relief= SUNKEN) button.pack() root.mainloop()
效果圖示
Mark:也可以在Button按鈕上顯示圖片。
先將想要顯示的圖片轉(zhuǎn)化為image對象(PhotoImage(file=‘圖片路徑’)),然后使用image屬性,image=image對象。如果不設(shè)置按鈕的高度和寬度(height,width),那么顯示按鈕的大小就是圖片的大小。如果設(shè)置按鈕的高度和寬度,則只會顯示圖片的一部分。這里,height、width的單位是像素單位。
修改Button屬性
動態(tài)的修改按鈕Button的屬性
def print1(): #button['text']='Now you see me' button.configure(text='Now you see me') button = Button(root,text='打印', font=('楷體',30),fg='red',bg='black', anchor='center',command=print1, height=1,width=20,bd=6) button.pack() root.mainloop()
效果圖示
點(diǎn)擊Button按鈕后,文本內(nèi)容變成
Mark:Button屬性可以修改。
如果想呈現(xiàn)的效果是已經(jīng)設(shè)置好的Button在點(diǎn)擊按鈕后屬性發(fā)生了變化,可以在回調(diào)函數(shù)里修改Button的屬性:Button對象[‘關(guān)鍵參數(shù)’]=要修改的值或Button對象.comfigure(關(guān)鍵參數(shù)=要修改的值)。
小結(jié):通過Button對象,我們可以在窗口中設(shè)置不同外觀的按鈕。而且,點(diǎn)擊Button按鈕,可以執(zhí)行函數(shù)中的代碼塊。
python tkinter的Button組件
這個地方難度不高,記住參數(shù)就行。
Tkinter的布局方式有三種
幾何方法 | 描述 |
pack() | 包裝; |
grid() | 網(wǎng)格; |
place() | 位置; |
代碼如下:
# coding:utf8 import tkinter as tk class APP: def __init__(self, master): frame = tk.Frame(master) frame.pack(side=tk.RIGHT, padx=70, pady=100) b4 = tk.Button(frame, text="測試command點(diǎn)擊調(diào)用函數(shù)", bd="4", bg="yellow", command=lambda: self.Newtk("x")) b4.pack() @staticmethod def Newtk(x): if x != "x": return 0 win1 = tk.Tk() win1.title("提示信息") frame1 = tk.Frame(win1) frame1.pack(side=tk.RIGHT, padx=70, pady=100) l1 = tk.Label(frame1, text="噢,你點(diǎn)擊了。給你彈個框樂呵樂呵") l1.pack() admin = tk.Tk() admin.title("測試Button") win = APP(admin) admin.mainloop()
w = Button ( master, option=value, ... )
序號 | 可選項(xiàng) & 描述 |
---|---|
1 | activebackground 當(dāng)鼠標(biāo)放上去時,按鈕的背景色 |
2 | activeforeground 當(dāng)鼠標(biāo)放上去時,按鈕的前景色 |
3 | bd 按鈕邊框的大小,默認(rèn)為 2 個像素 |
4 | bg 按鈕的背景色 |
5 | command 按鈕關(guān)聯(lián)的函數(shù),當(dāng)按鈕被點(diǎn)擊時,執(zhí)行該函數(shù) |
6 | fg 按鈕的前景色(按鈕文本的顏色) |
7 | font 文本字體 |
8 | height 按鈕的高度 |
9 | highlightcolor 要高亮的顏色 |
10 | image 按鈕上要顯示的圖片 |
11 | justify 顯示多行文本的時候,設(shè)置不同行之間的對齊方式,可選項(xiàng)包括LEFT, RIGHT, CENTER |
12 | padx 按鈕在x軸方向上的內(nèi)邊距(padding),是指按鈕的內(nèi)容與按鈕邊緣的距離 |
13 | pady 按鈕在y軸方向上的內(nèi)邊距(padding) |
14 | relief 邊框樣式,設(shè)置控件3D效果,可選的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默認(rèn)為 FLAT。 |
15 | state 設(shè)置按鈕組件狀態(tài),可選的有NORMAL、ACTIVE、 DISABLED。默認(rèn) NORMAL。 |
16 | underline 下劃線。默認(rèn)按鈕上的文本都不帶下劃線。取值就是帶下劃線的字符串索引,為 0 時,第一個字符帶下劃線,為 1 時,前兩個字符帶下劃線,以此類推 |
17 | width 按鈕的寬度,如未設(shè)置此項(xiàng),其大小以適應(yīng)按鈕的內(nèi)容(文本或圖片的大?。?/p> |
18 | wraplength 限制按鈕每行顯示的字符的數(shù)量 |
19 | text 按鈕的文本內(nèi)容 |
19 | anchor 錨選項(xiàng),控制文本的位置,默認(rèn)為中心 |
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
django 將自帶的數(shù)據(jù)庫sqlite3改成mysql實(shí)例
這篇文章主要介紹了django 將自帶的數(shù)據(jù)庫sqlite3改成mysql實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常
這篇文章主要為大家介紹了一個關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報(bào)no?module?name的異常錯誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python調(diào)用百度REST API實(shí)現(xiàn)語音識別
這篇文章主要為大家詳細(xì)介紹了python調(diào)用百度REST API實(shí)現(xiàn)語音識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08tesserocr與pytesseract模塊的使用方法解析
這篇文章主要介紹了tesserocr與pytesseract模塊的使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08