0
点赞
收藏
分享

微信扫一扫

关于tkinter canvas使用时遇到的问题记录(python)

非常帅气的昵称吧 2022-04-14 阅读 93
python

用来记录canvas的使用和备忘

canvas专用的方法
方法名比较常见的输入数据类型备注
.addtag_abovenewtag, tagorid给一个指定的元素添加标签名(实际效果给了下一个元素??)
.addtag_allnewtag给画布所有的元素添加标签名
.addtag_belownewtag,tagorid给本元素的下一个元素添加标签(实际效果不明,查看配置文件,此方法并没有给任何元素添加标签)
.addtag_closest

newtag,x,y, halo=none,

start=none

一般配合鼠标绑定事件使用,给x,y附近的元素添加标签,如果有多个重叠取最高的, halo 是坐标的有效大小,如果start参数传递了元素id, 方法会标记低于元素id的最高合格对象
.addtag_enclosednewtag,x1,y1,x2,y2获取完全在范围内的所有元素
.addtag_oberlappingnewtag, x1,y1,x2,y2获取范围内选取到的所有元素(不需要完全在坐标范围内)
.addtag_withtagnewtag, tagorid给一个或多个元素添加标签名
.bboxtagorid

返回的是特定标签边框所占据的矩形左上角和右下角的像素坐标,元组类型数据

和.coords(tagorid) 不同的是,coords返回的是图形(不包含边框)所占据的像素坐标,列表类型

.tag_bind只有带tagorid的项,获得绑定,相较bind能更好的控制tag

.canvasx

.canvasy

screenx

screeny

返回屏幕x, y 坐标下,画布的x, y坐标
.coordstagorid返回的是图形(不包含边框)所占据的像素坐标,列表类型
.create_*创建各种图像以及图片等
.dcharstagorid,first=0, last=firstfirst和last必须给定值,方法没有默认值参数,用来删除元素中的字符,从fist到last,目前只能想到在create_line中使用
.deletetagorid用来删除元素,可以使用tkinter.All 删除全部元素,如果没有参数传递,也不会报错
.dtagtagorid, tagtodelete删除元素的标签
.find_abovetagorid返回位于元素上方的一个元素(注意不是最上方),如果上方没有元素,则返回空元组
.find_all返回所有位于画布上的元素
.find_belowtagorid返回低于元素id的一个元素(注意不是最低的元素),如果没有,返回空元组
.find_closestx,y,halo=none,start=none返回坐标点附近的元素,如果有多个,返回最上层的元素
.find_enclosedx1,y1,x2,y2返回完全在坐标范围内的全部元素
.find_overlappingx1,y1,x2,y2返回至少有一点在坐标范围内的全部元素
.find_withtagtagorid返回元素的id(已知id返回id有什么用?),看来是用来通过tag标签查找id用
.focustagorid获得焦点,如果有多个元素获得焦点,则焦点移动到允许插入焦点的第一个, 如果省略参数,则返回具有焦点元素的id,如果没有则返回''
.gettagstagorid如果参数是id,则返回所有关联的标签的列表,如果是标签,则返回该标签最低对象的所有标签
.icursortagorid, index插入光标(画布的元素获得光标能做什么不知道)
.indextagorid, specifier返回光标位置
.inserttagorid, specifier, text插入字符串
.itemcgettagorid,option获得配置, option不能为空
.itemconfiguretagorid,option用法和cget基本相同,如果option没有传参,获得所有配置属性,字典形式
.movetagorid,dx,dy移动元素
.movetotagorid,x,y移动元素到
.postscript

参数

colormode: 使用'color'进行彩色输出,'gray'进行灰度输出,'mono'黑白输出

file: 命名写入postscript文件,否则postscript将作为字符串返回

height:要打印的画布高度,默认是画布的可见高度

width:要打印的画布宽度,默认可见宽度

rotate:如果=false,页面将纵向呈现.反之,横向

x:打印区域的最左侧坐标

y:最顶部坐标

将画布的内容打印到postscript中
.tag_raisetagorid原注释
"""Raise an item TAGORID given in ARGS
(optional above another item)."""

功能不理解

.scale

tagorid,x,y,xscale,yscale

xscale,yscale为缩放比例系数

不会改变文本的大小,但可能会移动

缩放
.scan_markx,y

sacn的几个方法要配合使用

记住当前x,y坐标

.scan_dragtox,y,gain=10  gain增益计算与scan_mark中x,y的差值,用来实现画布的快速滚动,一般是通过绑定鼠标中间实现功能
.select_adjustid, specifier选中文本的一个字符
.select_clear清除选中文本
.select_fromid, specifier选中文本的起始位置
.select_item返回当前选中文本的元素的id,如果没有返回None
.select_toid,specifier选中文本的结束位置
.type返回元素的类型, 是一个字符串的值
举报

相关推荐

0 条评论