最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?tkinter中四個常用按鈕的用法總結(jié)

 更新時間:2023年09月13日 09:04:43   作者:微小冷  
tkinter中有四個控件被冠以Button之名,分別是:Button,?Checkbutton,?Radiobutton,?Menubutton,下面小編就來和大家聊聊它們的具體用法,感興趣的可以學(xué)習(xí)一下

四大按鈕

tkinter中有四個控件被冠以Button之名,分別是:Button, Checkbutton, Radiobutton, Menubutton,但后三種其實說不上是按鈕,Checkbutton是單選框;Radiobutton其實更類似于Combobox;Menubutton則是菜單。

這幾種按鈕雖然功能各異,但都具有下面這些屬性,這些屬性屬于非常通用的屬性,并且在控件樣式中也以Button為例,展示過了,本文就不再贅述。既然以四大按鈕為題,那么就要稍微有點深度,展示一些此前不曾展示過的高級功能。

屬性說明
background/bg背景色
borderwidth/bd邊框?qū)挾?/td>
foreground/fg前景色
state狀態(tài)
font字體
width, height寬度,高度
padx,pady水平外間距,垂直外間距
text顯示文本
justify多行文本對齊方式
relief邊框樣式
underline下劃線
wraplength換行寬度

Button連擊

Button可通過repeatdelay和repeatinterval來控制連擊操作。

正常情況下,只有按下鼠標(biāo)然后再抬起,才算是一次點擊事件。而tkinter中點擊的邏輯則是,如果按下按鈕不松手,那么等待repeatdelay時間后,每隔repeatinterval就算是一次點擊。

下面寫代碼測試一下

import tkinter as tk
root = tk.Tk()
v = tk.StringVar()
iClick = 0
v.set(f"點擊{iClick}次")
def click():
    global iClick
    iClick += 1
    v.set(f"點擊{iClick}次")
tk.Button(root, height=3, width=15,
    font = ('黑體', 60, 'bold'), command=click,    
    repeatdelay=1000, repeatinterval=300,
    textvariable=v).pack(side=tk.TOP, fill=tk.BOTH)
root.mainloop()

其含義是,每點擊一次,iClick就加一,而按鈕自身的設(shè)置是,如果按下按鈕1000毫秒不松手,那么接下來每隔300毫秒就算一次點擊。效果如下

Menubutton

Menubutton的特色當(dāng)然是設(shè)置菜單,所以想用Menubutton,前提是有一個菜單。而在設(shè)置菜單過程中,可通過direction屬性,來設(shè)置菜單位置。如果不設(shè)置direction,菜單會出現(xiàn)在按鈕的下方,下面將direction設(shè)置為另外三個方向

import tkinter as tk
root = tk.Tk()
root.geometry("400x200")
def setMenu(root, mb, text):
    m = tk.Menu(mb)
    for i in range(3):
        m.add_command(label=f"{text}{i}")
    m.add_separator()
    m.add_command(label="退出", command=root.quit)
    return m
frm = tk.Frame(root)
frm.place(relx=0.5, rely=0.5, anchor=tk.CENTER)
for d in ["above", "left", "right"]:
    mb = tk.Menubutton(frm, text=d, direction=d)
    mb.pack(side=tk.LEFT)
    m = setMenu(root, mb, d)
    mb.config(menu=m)
root.mainloop()

效果如下

Checkbutton

Checkbutton和不同Button相比是多了一個可供勾選的功能,與此同時也就具備了選中和未選中兩種狀態(tài)。這兩種狀態(tài)默認(rèn)是1和0,但在Checkbutton中,可通過offvalue和onvalue來設(shè)置未選中和已經(jīng)選中的值。

而綁定Checkbutton的選中狀態(tài)的參數(shù)是variable。

root = tk.Tk()
root.geometry("400x200")
frm = tk.Frame(root)
frm.place(relx=0.5, rely=0.5, anchor=tk.CENTER)
v = tk.StringVar()
font = ('黑體', 20, 'bold')
Checkbutton(frm, text="單選框", font=font, variable=v, 
    offvalue="未選中", onvalue="選中了").pack(side=tk.LEFT)
tk.Label(frm, font=font, textvariable=v).pack(side=tk.LEFT)
root.mainloop()

效果如下

Radiobutton

Radiobutton可以看成是無法同時選中的多個Checkbutton,所以也通過variable來作為關(guān)聯(lián)變量,作為當(dāng)前被選中的值。但由于有多個值,所以也就沒有類似offvalue和onvalue這樣的參數(shù)了。

root = tk.Tk()
v = StringVar(1)
frm = tk.Frame(root)
frm.place(relx=0.5, rely=0.3, anchor=tk.CENTER)
font = ('黑體', 20, 'bold')
for i in range(4):
    Radiobutton(root, text=f"Radio{i}", font=font,
        variable=v, value=i).pack(side=tk.LEFT)
frm = tk.Frame(root)
frm.place(relx=0.5, rely=0.7, anchor=tk.CENTER)
tk.Label(frm, font=font, textvariable=v).pack(side=tk.TOP)
root.mainloop()

結(jié)果如下

到此這篇關(guān)于Python tkinter中四個常用按鈕的用法總結(jié)的文章就介紹到這了,更多相關(guān)Python tkinter按鈕內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Flask-Cache緩存實現(xiàn)給Flask提速的方法詳解

    使用Flask-Cache緩存實現(xiàn)給Flask提速的方法詳解

    這篇文章主要介紹了使用Flask-Cache緩存實現(xiàn)給Flask提速的方法,結(jié)合實例形式詳細(xì)分析了Flask-Cache的安裝、配置及緩存使用相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python contextlib模塊使用示例

    Python contextlib模塊使用示例

    這篇文章主要介紹了Python contextlib模塊使用示例,本文著重使用contextlib模塊產(chǎn)生一個上下文管理器,需要的朋友可以參考下
    2015-02-02
  • Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜

    Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜

    這篇文章主要介紹了Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python處理大量Excel文件的十個技巧分享

    Python處理大量Excel文件的十個技巧分享

    每天被大量Excel文件折磨的你看過來!這是一份Python程序員整理的實用技巧,不說廢話,直接上干貨,文章通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • 如何從PyTorch中獲取過程特征圖實例詳解

    如何從PyTorch中獲取過程特征圖實例詳解

    特征提取是圖像處理過程中常需要用到的一種方法,其效果好壞對模型的泛化能力有至關(guān)重要的影響,下面這篇文章主要給大家介紹了關(guān)于如何從PyTorch中獲取過程特征圖的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Python與Java進(jìn)行交互操作的方法與性能對比

    Python與Java進(jìn)行交互操作的方法與性能對比

    這篇文章主要為大家詳細(xì)介紹了Python與Java進(jìn)行交互操作的相關(guān)方法,包括子進(jìn)程調(diào)用,JPype,Py4J和REST/gRPC,并進(jìn)行了性能對比,感興趣的小伙伴可以了解下
    2025-04-04
  • 30秒學(xué)會30個超實用Python代碼片段【收藏版】

    30秒學(xué)會30個超實用Python代碼片段【收藏版】

    許多人在數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、web開發(fā)、腳本編寫和自動化等領(lǐng)域中都會使用Python,它是一種十分流行的語言。本文將簡要介紹30個簡短的、且能在30秒內(nèi)掌握的代碼片段,感興趣的朋友一起看看吧
    2019-10-10
  • matplotlib交互式數(shù)據(jù)光標(biāo)mpldatacursor的實現(xiàn)

    matplotlib交互式數(shù)據(jù)光標(biāo)mpldatacursor的實現(xiàn)

    這篇文章主要介紹了matplotlib交互式數(shù)據(jù)光標(biāo)mpldatacursor的實現(xiàn) ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python實現(xiàn)文件名批量替換和內(nèi)容替換

    python實現(xiàn)文件名批量替換和內(nèi)容替換

    這篇文章主要介紹了python實現(xiàn)文件名批量替換和內(nèi)容替換,第一個例子可以指定文件類型,需要的朋友可以參考下
    2014-03-03
  • Django路由層如何獲取正確的url

    Django路由層如何獲取正確的url

    本文介紹路由層是如何進(jìn)行路由匹配的,以diango1.x版本為例,文中通過示例代碼介紹的非常詳細(xì),文中通過示例代碼介紹的非常詳細(xì),
    2021-07-07

最新評論

蓝山县| 奉新县| 黄骅市| 格尔木市| 临邑县| 贡嘎县| 巴楚县| 台北市| 大余县| 江门市| 遂宁市| 衡水市| 海安县| 泰来县| 宜都市| 白银市| 濮阳市| 永福县| 仁布县| 屏山县| 都江堰市| 仁布县| 府谷县| 固原市| 同心县| 自治县| 琼结县| 新营市| 利川市| 齐河县| 上杭县| 侯马市| 宁国市| 太仓市| 邹城市| 双流县| 黄骅市| 措美县| 康乐县| 松滋市| 米脂县|