python圖形用戶界面tkinter之按鈕Button的使用說明
python tkinter按鈕Button的使用
創(chuàng)建和設(shè)置窗口
from tkinter import *
#創(chuàng)建窗口對象
root = Tk()
#窗口屬性設(shè)置
root.title ('窗口標題')
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ù)更改了圖標。
按鈕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標簽類似。
比如文本(text)、文本字體(font)、字體大小、顏色(fg)、文本在Button按鈕中的位置(anchor)、文本中不同行的對齊方式(justify)、按鈕的高度和寬度(height、width)、按鈕的背景色(bg)等等。和Lable標簽相比,Button按鈕有回調(diào)函數(shù),command=函數(shù)名,當點擊按鈕時,就會執(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()效果圖示

點擊Button按鈕后,文本內(nèi)容變成

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

