Tkinter canvas的畫布參數(shù),刪除組件,添加垂直滾動(dòng)條詳解
更新時(shí)間:2021年10月11日 16:29:46 作者:南風(fēng)丶輕語(yǔ)
這篇文章主要介紹了python tkinter 畫布參數(shù),刪除組件,添加垂直滾動(dòng)條使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1、畫布 Canvas的參數(shù)
from tkinter import * win = Tk() win.geometry('500x500+500+100') canvas = Canvas( master=win, # 父控件 bg='orange', # 背景顏色 bd=2, # 邊框?qū)挾? closeenough=1, # 當(dāng)鼠標(biāo)與畫布上組件的距離小于該值時(shí),認(rèn)為鼠標(biāo)在該組件上,是一個(gè)浮點(diǎn)型的值 cursor='circle', # 鼠標(biāo)飄過(guò)的樣式 height=300, # 畫布的高 width=300, # 畫布的寬 highlightbackground='blue', # 沒有獲得焦點(diǎn)時(shí)高亮邊框的顏色 highlightcolor='red', # 獲得焦點(diǎn)時(shí)高亮邊框的顏色 highlightthickness=5, # 高亮邊框的寬度 relief='groove', # 邊框的樣式 flat, groove, raised, ridge, solid, or sunken state='normal', # 狀態(tài) normal or disabled scrollregion=(0, 0, 400, 400), # 畫布可以被滾動(dòng)的范圍 confine=True, # 畫布是否允許滾動(dòng)超出 scrollregion 選項(xiàng)指定的范圍 selectbackground='yellow', # 畫布對(duì)象被選中時(shí)的背景顏色 selectborderwidth=10, # 畫布對(duì)象被選中時(shí)的邊框?qū)挾? takefocus=True, # 使用 Tab 鍵是否可以將焦點(diǎn)移動(dòng)到輸入框中 yscrollcommand=None, # 設(shè)置垂直滾動(dòng)條,一般與滾動(dòng)條相關(guān)聯(lián)使用 yscrollincrement=1, # 設(shè)置垂直滾動(dòng)條的步長(zhǎng) xscrollcommand=None, # 設(shè)置水平滾動(dòng)條,一般與滾動(dòng)條相關(guān)聯(lián)使用 xscrollincrement=1, # 設(shè)置水平滾動(dòng)條的步長(zhǎng) ) canvas.pack(pady=50) canvas.create_window((100, 100), window=Entry(canvas)) Button(win, text='按鈕').pack() win.mainloop()
2、刪除鼠標(biāo)下的組件
from tkinter import * def event(w): # current 表示刪除鼠標(biāo)下的組件 canvas.delete('current') win = Tk() win.geometry('500x500+500+100') canvas = Canvas(win) canvas.pack(fill=BOTH, expand=True) # 畫實(shí)線,填充橙色,設(shè)置寬度為10 for i in range(10, 200, 20): canvas.create_line(i, 100, i, 200, width=10, fill='orange') # 綁定鼠標(biāo)左鍵點(diǎn)擊事件 canvas.bind('<Button-1>', event) win.mainloop()
3、帶垂直滾動(dòng)條的畫布
from tkinter import * def event2(): for i in range(0, 220): # 繪制實(shí)線,填充粉色,設(shè)置寬度為10 canvas.create_line(0, i, 100, i, fill='pink', width=10) for i in range(230, 300): # 繪制實(shí)線,填充藍(lán)色,設(shè)置寬度為50 canvas.create_line(0, i, 100, i, fill='blue', width=50) def event1(event): """ 事件的屬性 delta 解析 在MouseWheel 事件中,正值代表上卷,負(fù)值代表下卷; 在 Window 下,通常是 120 的倍數(shù);在 MacOS 下,為 1 的倍數(shù) """ number = int(-event.delta / 120) canvas.yview_scroll(number, 'units') win = Tk() win.geometry('500x500+500+100') frame = Frame(win) sv = Scrollbar(frame) # 定義垂直滾動(dòng)條 sv.pack(side=RIGHT, fill=Y) # 放置垂直滾動(dòng)條在最右側(cè),占滿Y軸 canvas = Canvas(frame, bd=2, bg='orange', relief='groove') canvas.pack() canvas.config(yscrollcommand=sv.set) # 設(shè)置畫布的Y軸滾動(dòng)條函數(shù)與垂直滾動(dòng)條綁定 canvas.config(scrollregion=(0, 0, 300, 800)) # 設(shè)置畫布可以滾動(dòng)的范圍 sv.config(command=canvas.yview) # 設(shè)置垂直滾動(dòng)條的函數(shù)與畫布的Y軸滾動(dòng)條事件綁定 frame.pack(pady=50) canvas.config(yscrollincrement=1) # 設(shè)置滾動(dòng)條的步長(zhǎng) canvas.bind("<MouseWheel>", event1) # 添加滾輪事件 Button(text='為畫布添加組件', command=event2).pack() event2() win.mainloop()
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python3.9 beta2版本發(fā)布了,看看這7個(gè)新的PEP都是什么
這篇文章主要介紹了Python3.9 beta2版本發(fā)布了,看看這7個(gè)新的PEP都是什么,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-06-06淺談numpy 中dot()函數(shù)的計(jì)算方式
這篇文章主要介紹了淺談numpy 中dot()函數(shù)的計(jì)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05如何使用PyCharm將代碼上傳到GitHub上(圖文詳解)
這篇文章主要介紹了如何使用PyCharm將代碼上傳到GitHub上(圖文詳解),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python中使用第三方庫(kù)xlrd來(lái)寫入Excel文件示例
這篇文章主要介紹了Python中使用第三方庫(kù)xlrd來(lái)寫入Excel文件示例,本文講解了安裝xlwt、API介紹、使用xlwt寫入Excel文件實(shí)例,需要的朋友可以參考下2015-04-04Flask框架響應(yīng)、調(diào)度方法和藍(lán)圖操作實(shí)例分析
這篇文章主要介紹了Flask框架響應(yīng)、調(diào)度方法和藍(lán)圖操作,結(jié)合實(shí)例形式分析了Flask框架中響應(yīng)、調(diào)度方法和藍(lán)圖相關(guān)功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-07-07