我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Tkinter canvas的画布参数,删除组件,添加垂直滚动条详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Tkinter canvas的画布参数,删除组件,添加垂直滚动条详解

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

在这里插入图片描述

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 的倍数;在 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()

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Tkinter canvas的画布参数,删除组件,添加垂直滚动条详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录