Python?ttkbootstrap的介紹與使用教程
一、什么是ttkbootstrap?
官方文檔 [較慢]:https://ttkbootstrap.readthedocs.io/en/latest/
ttkbootstrap 是一個(gè)基于 tkinter 的界面美化庫(kù),使用這個(gè)工具可以開(kāi)發(fā)出類似前端 bootstrap 風(fēng)格的 tkinter 桌面程序
二、安裝步驟
安裝命令:pip install ttkbootstrap
三、開(kāi)始使用
首先對(duì)它實(shí)例化創(chuàng)建應(yīng)用程序窗口的一些簡(jiǎn)單介紹。
import ttkbootstrap as ttk #實(shí)例化創(chuàng)建應(yīng)用程序窗口,其實(shí)大部分命令與tkinter相似 root = ttk.Window( title="窗口名字", #設(shè)置窗口的標(biāo)題 themename="litera", #設(shè)置主題 size=(1066,600), #窗口的大小 position=(100,100), #窗口所在的位置 minsize=(0,0), #窗口的最小寬高 maxsize=(1920,1080), #窗口的最大寬高 resizable=None, #設(shè)置窗口是否可以更改大小 alpha=1.0, #設(shè)置窗口的透明度(0.0完全透明) ) # root.place_window_center() #讓顯現(xiàn)出的窗口居中 # root.resizable(False,False) #讓窗口不可更改大小 # root.wm_attributes('-topmost', 1)#讓窗口位置其它窗口之上 root.mainloop()
表簽(Label)樣式
import ttkbootstrap as ttk from ttkbootstrap.constants import * root = ttk.Window() ttk.Label(root,text="標(biāo)簽1",bootstyle=INFO).pack(side=ttk.LEFT, padx=5, pady=10) ttk.Label(root,text="標(biāo)簽2",bootstyle="inverse").pack(side=ttk.LEFT, padx=5, pady=10) ttk.Label(root,text="標(biāo)簽3",bootstyle="inverse-danger").pack(side=ttk.LEFT, padx=5, pady=10) ttk.Label(root, text="標(biāo)簽4", bootstyle=WARNING, font=("微軟雅黑", 15), background='#94a2a4').pack(side=LEFT, padx=5, pady=10) root.mainloop() ''' # bootstyle colors PRIMARY = 'primary' SECONDARY = 'secondary' SUCCESS = 'success' DANGER = 'danger' WARNING = 'warning' INFO = 'info' LIGHT = 'light' DARK = 'dark' # bootstyle types OUTLINE = 'outline' LINK = 'link' TOGGLE = 'toggle' INVERSE = 'inverse' STRIPED = 'striped' TOOLBUTTON = 'toolbutton' ROUND = 'round' SQUARE = 'square' '''
按鈕(button)樣式
import ttkbootstrap as ttk from ttkbootstrap.constants import * root = ttk.Window() ttk.Button(root, text="Button 1", bootstyle=SUCCESS).pack(side=LEFT, padx=5, pady=10) ttk.Button(root, text="Button 2", bootstyle=(INFO, OUTLINE)).pack(side=LEFT, padx=5, pady=10) ttk.Button(root, text="Button 3", bootstyle=(PRIMARY, "outline-toolbutton")).pack(side=LEFT, padx=5, pady=10) ttk.Button(root, text="Button 4", bootstyle="link").pack(side=LEFT, padx=5, pady=10) ttk.Button(root, text="Button 5", bootstyle="success-link").pack(side=LEFT, padx=5, pady=10) ttk.Button(root, text="Button 6", state="disabled").pack(side=LEFT, padx=5, pady=10) #在禁用狀態(tài)下創(chuàng)建按鈕 root.mainloop()
按鈕點(diǎn)擊
import ttkbootstrap as ttk from ttkbootstrap.constants import * root = ttk.Window() #為按鈕添加點(diǎn)擊事件 #法一 def button1(): print("Button1點(diǎn)擊了一下!") ttk.Button(root,text="Button1", bootstyle=(PRIMARY, "outline-toolbutton"),command=button1).pack(side=LEFT, padx=5, pady=10) #法二 def button2(event): #這里要加一個(gè)參數(shù),不然會(huì)報(bào)錯(cuò) print("Button2點(diǎn)擊了一下!") button_text = event.widget["text"] #得到按鈕上的文本 print(button_text) b = ttk.Button(root,text="Button2", bootstyle=(PRIMARY, "outline-toolbutton")) b.pack(side=LEFT, padx=5, pady=10) b.bind("<Button-1>", button2) #<Button-1>鼠標(biāo)左鍵 root.mainloop()
輸入框(Entry)樣式
import ttkbootstrap as ttk from ttkbootstrap.constants import * root = ttk.Window() e1 = ttk.Entry(root,show=None) e1.insert('0',"默認(rèn)插入內(nèi)容") e1.grid(row=5, column=1, sticky=ttk.W, padx=10,pady=10) e2 = ttk.Entry(root,show="*",width=50,bootstyle=PRIMARY) e2.grid(row=10, column=1, sticky=ttk.W, padx=10, pady=10) e3_content = ttk.StringVar() e3 = ttk.Entry(root,bootstyle='success', textvariable=e3_content).grid(row=15, column=1, sticky=ttk.W, padx=10, pady=10) def get_entry_contetn(): print("e1: ",e1.get()) print("e2: ",e2.get()) print("e3: ",e3_content.get()) ttk.Button(root,text="get_entry_contetn", bootstyle=(PRIMARY, "outline-toolbutton"),command=get_entry_contetn).grid(row=20, column=1, sticky=ttk.W, padx=10, pady=10) root.mainloop()
文本框(Text)樣式
import ttkbootstrap as ttk from ttkbootstrap.constants import * root = ttk.Window() text = ttk.Text(root,) text.pack(padx=10,pady=10,fill=BOTH) text.insert('insert','text-content 1') #插入內(nèi)容 text.delete("0.0",'end') #刪除內(nèi)容 text.insert('insert','text-content 2\npy') text.see(ttk.END) #光標(biāo)跟隨著插入的內(nèi)容移動(dòng) root.mainloop()
其余的都是tkinter不是特別常用或者tkinter.ttk官方教程里面有的
參考鏈接:Python GUI之tkinter的皮膚(ttkbootstrap)打造出你的窗口之美
四、總結(jié)時(shí)間
以上就是今天要講的內(nèi)容,本文僅僅簡(jiǎn)單介紹了ttkbootstrap的使用,而ttkbootstrap可以使我們創(chuàng)建一個(gè)簡(jiǎn)單用戶圖形界面,并對(duì)其可以做一些操作。
五、參考文獻(xiàn)
到此這篇關(guān)于Python ttkbootstrap的介紹與使用的文章就介紹到這了,更多相關(guān)Python ttkbootstrap使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的jsonpath庫(kù)使用方法實(shí)例
這篇文章主要介紹了Python的jsonpath庫(kù)使用方法實(shí)例,接口返回的jsonn數(shù)據(jù),需要取值后斷言,一般我們是使用jsonpath來(lái)提取接口返回的數(shù)據(jù) ,JsonPath是一種信息抽取類庫(kù),是從JSON文檔中抽取指定信息的工具,,需要的朋友可以參考下2023-08-08pytest實(shí)現(xiàn)多進(jìn)程與多線程運(yùn)行超好用的插件
本文主要介紹了pytest實(shí)現(xiàn)多進(jìn)程與多線程運(yùn)行超好用的插件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認(rèn)版本
這篇文章主要介紹了詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認(rèn)版本,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python?pytest自動(dòng)化測(cè)試庫(kù)十個(gè)強(qiáng)大用法示例
本文將介紹Python的pytest庫(kù)的10個(gè)強(qiáng)大用法,并提供相應(yīng)的代碼示例,幫助你更好地理解和應(yīng)用單元測(cè)試,它提供了許多高級(jí)功能和便利的用法,能夠讓我們更輕松地編寫和執(zhí)行單元測(cè)試2024-01-01Django后端接收嵌套Json數(shù)據(jù)及解析詳解
這篇文章主要介紹了Django后端接收嵌套Json數(shù)據(jù)及解析詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07python使用multiprocessing模塊實(shí)現(xiàn)帶回調(diào)函數(shù)的異步調(diào)用方法
這篇文章主要介紹了python使用multiprocessing模塊實(shí)現(xiàn)帶回調(diào)函數(shù)的異步調(diào)用方法,實(shí)例分析了multiprocessing模塊異步調(diào)用的相關(guān)使用技巧,需要的朋友可以參考下2015-04-04