一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Tkinter canvas的畫布參數,刪除組件,添加垂直滾動條詳解

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

2022-01-22 16:11南風丶輕語 Python

這篇文章主要介紹了python tkinter 畫布參數,刪除組件,添加垂直滾動條使用實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、畫布 Canvas的參數

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',  # 狀態 normal or disabled
      scrollregion=(0, 0, 400, 400),  # 畫布可以被滾動的范圍
      confine=True,  # 畫布是否允許滾動超出 scrollregion 選項指定的范圍
      selectbackground='yellow',  # 畫布對象被選中時的背景顏色
      selectborderwidth=10,  # 畫布對象被選中時的邊框寬度
      takefocus=True,  # 使用 Tab 鍵是否可以將焦點移動到輸入框中
      yscrollcommand=None,  # 設置垂直滾動條,一般與滾動條相關聯使用
      yscrollincrement=1,  # 設置垂直滾動條的步長
      xscrollcommand=None,  # 設置水平滾動條,一般與滾動條相關聯使用
      xscrollincrement=1,  # 設置水平滾動條的步長
      )
canvas.pack(pady=50)
canvas.create_window((100, 100), window=Entry(canvas))
Button(win, text='按鈕').pack()
win.mainloop()

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

 

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()

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

 

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 的倍數;在 MacOS 下,為 1 的倍數
  """
  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軸滾動條函數與垂直滾動條綁定
canvas.config(scrollregion=(0, 0, 300, 800))  # 設置畫布可以滾動的范圍
sv.config(command=canvas.yview)  # 設置垂直滾動條的函數與畫布的Y軸滾動條事件綁定
frame.pack(pady=50)
canvas.config(yscrollincrement=1)  # 設置滾動條的步長
canvas.bind("<MouseWheel>", event1)  # 添加滾輪事件
Button(text='為畫布添加組件', command=event2).pack()
event2()
win.mainloop()

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

 

總結

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

原文鏈接:https://www.cnblogs.com/rainbow-tan/p/14845972.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 纲手被鸣人插 | 调教女警花穿环上班 | 女张腿男人桶羞羞漫画 | 亚洲高清视频在线 | 亚洲 日韩经典 中文字幕 | 亚洲国产在线午夜视频无 | 东京道一本热大交乱 | 日本老师动漫 | jizz中国jizz老师水多 | 欧洲肥女大肥臀 | 天天视频官网天天视频在线 | 91小视频在线观看免费版高清 | 亚洲精品一区二区三区在线观看 | 2020中文字幕 | zoz.zzz色 | 人人干国产 | 射逼网 | 亚洲AV精品一区二区三区不卡 | 精品小视频在线观看 | 99精品网| 我把寡妇日出水好爽 | 亚洲天堂男人天堂 | coolgay男男gayxxx chinese壮直男gay老年人 chinese野外gay军人 | 大团圆6全文在线阅读 | 五月一区二区久久综合天堂 | 成人在线视频在线观看 | 青青青久在线视频免费观看 | 国产免费小视频 | 久久九九精品国产自在现线拍 | 热久久最新视频 | 毛片一区二区三区提莫影院 | 国产成人99久久亚洲综合精品 | 福利视频一区二区思瑞 | 国产一级大片免费看 | 女女性恋爱视频入口 | 国产精品久久久久一区二区三区 | 国产精品四虎在线观看免费 | 不卡一区二区三区 | 脱了白丝校花的内裤猛烈进入 | 精品久久洲久久久久护士免费 | 無码一区中文字幕少妇熟女网站 |