人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Tkinter canvas的畫布參數(shù),刪除組件,添加垂直滾動條詳解

發(fā)布日期:2021-12-26 10:47 | 文章來源:源碼中國

1、畫布 Canvas的參數(shù)

from tkinter import *
win = Tk()
win.geometry('500x500+500+100')
canvas = Canvas(
  master=win,  # 父控件
  bg='orange',  # 背景顏色
  bd=2,  # 邊框寬度
  closeenough=1,  # 當鼠標與畫布上組件的距離小于該值時,認為鼠標在該組件上,是一個浮點型的值
  cursor='circle',  # 鼠標飄過的樣式
  height=300,  # 畫布的高
  width=300,  # 畫布的寬
  highlightbackground='blue',  # 沒有獲得焦點時高亮邊框的顏色
  highlightcolor='red',  # 獲得焦點時高亮邊框的顏色
  highlightthickness=5,  # 高亮邊框的寬度
  relief='groove',  # 邊框的樣式 flat, groove, raised, ridge, solid, or sunken
  state='normal',  # 狀態(tài) normal or disabled
  scrollregion=(0, 0, 400, 400),  # 畫布可以被滾動的范圍
  confine=True,  # 畫布是否允許滾動超出 scrollregion 選項指定的范圍
  selectbackground='yellow',  # 畫布對象被選中時的背景顏色
  selectborderwidth=10,  # 畫布對象被選中時的邊框寬度
  takefocus=True,  # 使用 Tab 鍵是否可以將焦點移動到輸入框中
  yscrollcommand=None,  # 設置垂直滾動條,一般與滾動條相關聯(lián)使用
  yscrollincrement=1,  # 設置垂直滾動條的步長
  xscrollcommand=None,  # 設置水平滾動條,一般與滾動條相關聯(lián)使用
  xscrollincrement=1,  # 設置水平滾動條的步長
  )
canvas.pack(pady=50)
canvas.create_window((100, 100), window=Entry(canvas))
Button(win, text='按鈕').pack()
win.mainloop()

2、刪除鼠標下的組件

from tkinter import *
def event(w):
 #  current 表示刪除鼠標下的組件
 canvas.delete('current')
win = Tk()
win.geometry('500x500+500+100')
canvas = Canvas(win)
canvas.pack(fill=BOTH, expand=True)
# 畫實線,填充橙色,設置寬度為10
for i in range(10, 200, 20):
 canvas.create_line(i, 100, i, 200, width=10, fill='orange')
#  綁定鼠標左鍵點擊事件
canvas.bind('<Button-1>', event)
win.mainloop()

3、帶垂直滾動條的畫布

from tkinter import *
def event2():
 for i in range(0, 220):
  # 繪制實線,填充粉色,設置寬度為10
  canvas.create_line(0, i, 100, i, fill='pink', width=10)
 for i in range(230, 300):
  # 繪制實線,填充藍色,設置寬度為50
  canvas.create_line(0, i, 100, i, fill='blue', width=50)
def event1(event):
 """
 事件的屬性 delta 解析
 在MouseWheel 事件中,正值代表上卷,負值代表下卷;
 在 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)  # 定義垂直滾動條
sv.pack(side=RIGHT, fill=Y)  # 放置垂直滾動條在最右側,占滿Y軸
canvas = Canvas(frame, bd=2, bg='orange', relief='groove')
canvas.pack()
canvas.config(yscrollcommand=sv.set)  # 設置畫布的Y軸滾動條函數(shù)與垂直滾動條綁定
canvas.config(scrollregion=(0, 0, 300, 800))  # 設置畫布可以滾動的范圍
sv.config(command=canvas.yview)  # 設置垂直滾動條的函數(shù)與畫布的Y軸滾動條事件綁定
frame.pack(pady=50)
canvas.config(yscrollincrement=1)  # 設置滾動條的步長
canvas.bind("<MouseWheel>", event1)  # 添加滾輪事件
Button(text='為畫布添加組件', command=event2).pack()
event2()
win.mainloop()

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注本站的更多內容!

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部