python圖形用戶界面tkinter之按鈕Button的使用說明
python tkinter按鈕Button的使用
創(chuàng)建和設(shè)置窗口
from tkinter import *
#創(chuàng)建窗口對(duì)象
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)、文本中不同行的對(duì)齊方式(justify)、按鈕的高度和寬度(height、width)、按鈕的背景色(bg)等等。和Lable標(biāo)簽相比,Button按鈕有回調(diào)函數(shù),command=函數(shù)名,當(dāng)點(diǎn)擊按鈕時(shí),就會(huì)執(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對(duì)象(PhotoImage(file=‘圖片路徑’)),然后使用image屬性,image=image對(duì)象。如果不設(shè)置按鈕的高度和寬度(height,width),那么顯示按鈕的大小就是圖片的大小。如果設(shè)置按鈕的高度和寬度,則只會(huì)顯示圖片的一部分。這里,height、width的單位是像素單位。
修改Button屬性
動(dòng)態(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對(duì)象[‘關(guān)鍵參數(shù)’]=要修改的值或Button對(duì)象.comfigure(關(guān)鍵參數(shù)=要修改的值)。
小結(jié):通過Button對(duì)象,我們可以在窗口中設(shè)置不同外觀的按鈕。而且,點(diǎn)擊Button按鈕,可以執(zhí)行函數(shù)中的代碼塊。
python tkinter的Button組件
這個(gè)地方難度不高,記住參數(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="測(cè)試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)擊了。給你彈個(gè)框樂呵樂呵")
l1.pack()
admin = tk.Tk()
admin.title("測(cè)試Button")
win = APP(admin)
admin.mainloop()w = Button ( master, option=value, ... )
| 序號(hào) | 可選項(xiàng) & 描述 |
|---|---|
| 1 | activebackground 當(dāng)鼠標(biāo)放上去時(shí),按鈕的背景色 |
| 2 | activeforeground 當(dāng)鼠標(biāo)放上去時(shí),按鈕的前景色 |
| 3 | bd 按鈕邊框的大小,默認(rèn)為 2 個(gè)像素 |
| 4 | bg 按鈕的背景色 |
| 5 | command 按鈕關(guān)聯(lián)的函數(shù),當(dāng)按鈕被點(diǎn)擊時(shí),執(zhí)行該函數(shù) |
| 6 | fg 按鈕的前景色(按鈕文本的顏色) |
| 7 | font 文本字體 |
| 8 | height 按鈕的高度 |
| 9 | highlightcolor 要高亮的顏色 |
| 10 | image 按鈕上要顯示的圖片 |
| 11 | justify 顯示多行文本的時(shí)候,設(shè)置不同行之間的對(duì)齊方式,可選項(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 時(shí),第一個(gè)字符帶下劃線,為 1 時(shí),前兩個(gè)字符帶下劃線,以此類推 |
| 17 | width 按鈕的寬度,如未設(shè)置此項(xiàng),其大小以適應(yīng)按鈕的內(nèi)容(文本或圖片的大?。?/p> |
| 18 | wraplength 限制按鈕每行顯示的字符的數(shù)量 |
| 19 | text 按鈕的文本內(nèi)容 |
| 19 | anchor 錨選項(xiàng),控制文本的位置,默認(rèn)為中心 |
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
django 將自帶的數(shù)據(jù)庫sqlite3改成mysql實(shí)例
這篇文章主要介紹了django 將自帶的數(shù)據(jù)庫sqlite3改成mysql實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常
這篇文章主要為大家介紹了一個(gè)關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報(bào)no?module?name的異常錯(cuò)誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
python調(diào)用百度REST API實(shí)現(xiàn)語音識(shí)別
這篇文章主要為大家詳細(xì)介紹了python調(diào)用百度REST API實(shí)現(xiàn)語音識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
tesserocr與pytesseract模塊的使用方法解析
這篇文章主要介紹了tesserocr與pytesseract模塊的使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

