it美工做网站,做3d图的网站有哪些软件下载,长春专业做网站公司排名,如何判断一个网站的好坏文章目录 一、说明二、几何时使用 Canvas 组件2.1 用法2.2 简单范例2.3 对象移动2.4 对象删除2.5 文字对象显示 三、画布和画布对象3.1 画布生成函数原型3.2 使用create_xxx()方法3.3 对参数**options的解释 一、说明
Canvas#xff08;画布#xff09;组件为 Tkinter 的图形… 文章目录 一、说明二、几何时使用 Canvas 组件2.1 用法2.2 简单范例2.3 对象移动2.4 对象删除2.5 文字对象显示 三、画布和画布对象3.1 画布生成函数原型3.2 使用create_xxx()方法3.3 对参数**options的解释 一、说明
Canvas画布组件为 Tkinter 的图形绘制提供了基础。Canvas 是一个高度灵活的组件你可以用它绘制图形和图表创建图形编辑器并实现各种自定义的小部件。 二、几何时使用 Canvas 组件 Canvas 是一个通用的组件通常用于显示和编辑图形。你可以用它来绘制线段、圆形、多边形甚至是绘制其它组件。2.1 用法 在 Canvas 组件上绘制对象绘制的要点是1可以用 create_xxx() 的方法xxx 表示对象类型例如线段 line矩形 rectangle文本 text 等。2返回一个流水号ID ID create_xxx()Canvas 组件支持对象
arc弧形、弦或扇形 bitmap内建的位图文件或 XBM 格式的文件 imageBitmapImage 或 PhotoImage 的实例对象 line线 oval圆或椭圆形 polygon多边形 rectangle矩形 text文本 window组件 其中弦、扇形、椭圆形、圆形、多边形和矩形这些“封闭式”图形都是由轮廓线和填充颜色组成的但都可以设置为透明传入空字符串表示透明。
2.2 简单范例
import tkinter as tkroot tk.Tk()w tk.Canvas(root, width 200, height 100)
w.pack()#画一条黄色的横线
w.create_line(0, 50, 200, 50, fill yellow)
#画一条红色的竖线虚线
w.create_line(100, 0, 100, 100, fill red, dash (4, 4))
#中间画一个蓝色的矩形
w.create_rectangle(50, 25, 150, 75, fill blue)root.mainloop()2.3 对象移动 注意添加到 Canvas 上的对象会一直保留直着。如果你希望修改它们你可以使用:coords()itemconfig()move() 方法来移动画布上的对象
import tkinter as tk
root tk.Tk()w tk.Canvas(root, width 600, height 600)
w.pack()line1 w.create_line(0, 50, 200, 50, fill red)
# line2 w.create_line(100, 0, 100, 100, fill red, dash (4, 4))
# rect1 w.create_rectangle(50, 25, 150, 75, fill blue)def move():for i in range(100):w.coords(line1, 0 , 50i, 200 , 50i)print(i)tk.Button(root, text 删除全部, command (lambda x all : w.delete(x))).pack()
tk.Button(root, text 移动全部, command move ).pack()
root.mainloop()2.4 对象删除
或者使用 delete() 方法来删除
import tkinter as tk
root tk.Tk()w tk.Canvas(root, width 600, height 600)
w.pack()line1 w.create_line(0, 50, 200, 50, fill red)
line2 w.create_line(100, 0, 100, 100, fill red, dash (4, 4))
rect1 w.create_rectangle(50, 25, 150, 75, fill blue)tk.Button(root, text 删除全部, command (lambda x all : w.delete(x))).pack()root.mainloop()2.5 文字对象显示
你还可以在 Canvas 上显示文本使用的是 create_text() 方法文字对象显示与几何体不同表现在
坐标不同字体可选择需要字符串
import tkinter as tkroot tk.Tk()w tk.Canvas(root, width 200, height 100)
w.pack()w.create_text(100, 50, text Python)
root.mainloop()三、画布和画布对象
画布和画布对象的关系是
首先画布是根画布对象是叶所有操作前提是必须有个画布。对对象的操作也必须经过画布。 画布和画布对象存在消息链接。类似于窗口和控件的关系。 画布上可以管理画布对象增删改查
3.1 画布生成函数原型
上文示例虽然用到画布生成函数但是没有全面系统阐述本节中详细阐述生成函数的参数。
函数原型
Canvas(masterNone, **options) (class)
master – 父组件
**options – 组件选项下方表格详细列举了各个选项的具体含义和用法
选项含义background指定 Canvas 的背景颜色bg跟 background 一样borderwidth指定 Canvas 的边框宽度bd跟 borderwidth 一样closeenough1. 指定一个距离当鼠标与画布对象的距离小于该值时鼠标被认为在画布对象上2. 该选项是一个浮点类型的值confine1. 指定 Canvas 组件是否允许滚动超出 scrollregion 选项指定的范围2. 默认值是 Truecursor指定当鼠标在 Canvas 上飘过的时候的鼠标样式height1. 指定 Canvas 的高度;2. 单位是像素highlightbackground指定当 Canvas 没有获得焦点的时候高亮边框的颜色highlightcolor指定当 Canvas 获得焦点的时候高亮边框的颜色highlightthickness指定高亮边框的宽度relief1. 指定 Canvas 的边框样式;2. 默认值是 “flat”;3. 其他可以选择的值是 “sunken”“raised”“groove” 和 “ridge”scrollregion1. 指定 Canvas 可以被滚动的范围;2. 该选项的值是一个 4 元组x1, y1, x2, y2表示的矩形selectbackground指定当画布对象被选中时的背景色selectborderwidth指定当画布对象被选中时的边框宽度选中边框selectforeground指定当画布对象被选中时的前景色state1. 设置 Canvas 的状态“normal” 或 “disabled”;2. 默认值是 “normal”;3. 注意该值不会影响画布对象的状态takefocus1. 指定使用 Tab 键可以将焦点移动到输入框中;2. 默认是开启的可以将该选项设置为 False 避免焦点在此输入框中;width1. 指定 Canvas 的宽度; 2. 单位是像素xscrollcommand1. 与 scrollbar滚动条组件相关联水平方向;2. 使用方法可以参考Scrollbar 组件xscrollincrement1. 该选项指定 Canvas 水平滚动的“步长”;2. 例如 ‘3c’ 表示 3 厘米还可以选择的单位有 ‘i’英寸‘m’毫米和 ‘p’DPI大约是 ‘1i’ 等于 ‘72p’;3. 默认值是 0表示可以水平滚动到任意位置yscrollcommand1. 与 scrollbar滚动条组件相关联垂直方向;2. 使用方法可以参考Scrollbar 组件;yscrollincrement1. 该选项指定 Canvas 垂直滚动的“步长”;2. 例如 ‘3c’ 表示 3 厘米还可以选择的单位有 ‘i’英寸‘m’毫米和 ‘p’DPI大约是 ‘1i’ 等于 ‘72p’;3. 默认值是 0表示可以水平滚动到任意位置
3.2 使用create_xxx()方法
使用 create_oval() 方法绘制椭圆形或圆形参数是指定一个限定矩形Tkinter 会自动在这个矩形内绘制一个椭圆
create_oval(bbox, **options)
– 根据限定矩形 bbox 绘制一个椭圆 – 新创建的画布对象位于显示列表的顶端 – 创建成功后返回该画布对象的 ID – 下方表格列举了各个 options 选项的具体含义
选项含义**optionsactivedash当画布对象状态为 “active” 的时候绘制虚线activefill当画布对象状态为 “active” 的时候填充颜色activeoutline当画布对象状态为 “active” 的时候绘制轮廓线activeoutlinestipple当画布对象状态为 “active” 的时候指定填充轮廓的位图activestipple当画布对象状态为 “active” 的时候指定填充的位图activewidth当画布对象状态为 “active” 的时候指定边框的宽度dash1. 指定绘制虚线轮廓;2. 该选项值是一个整数元组元组中的元素分别代表短线的长度和间隔;3. 例如 (3, 5) 代表 3 个像素的短线和 5 个像素的间隔dashoffset1. 指定虚线轮廓开始的偏移位置’2. 例如当 dash(5, 1, 2, 1)dashoffset3则从 2 开始画虚线disableddash当画布对象状态为 “disabled” 的时候绘制虚线disabledfill当画布对象状态为 “disabled” 的时候填充颜色disabledoutline当画布对象状态为 “disabled” 的时候绘制轮廓线disabledoutlinestipple当画布对象状态为 “disabled” 的时候指定填充轮廓的位图disabledstipple当画布对象状态为 “disabled” 的时候指定填充的位图disabledwidth当画布对象状态为 “disabled” 的时候指定边框的宽度fill1. 指定填充的颜色;2. 空字符串表示透明offset1. 指定当点画模式时填充位图的偏移2. 该选项的值可以是“x,y”, “#x,y”, “n”, “ne”, “e”, “se”, “s”, “sw”, “w”, “nw”, “center”outline指定轮廓的颜色outlineoffset1. 指定当点画模式绘制轮廓时位图的偏移2. 该选项的值可以是“x,y”, “#x,y”, “n”, “ne”, “e”, “se”, “s”, “sw”, “w”, “nw”, “center”outlinestipple1. 当 outline 选项被设置时该选项用于指定一个位图来填充边框2. 默认值是空字符串表示黑色state1. 指定该画布对象的状态2. 可以是 “normal”“disabled”不可用不响应事件和 “hidden”隐藏3. 默认值是 “normal”stipple1. 指定一个位图用于填充2. 默认值是空字符串表示实心tags为创建的画布对象添加标签width指定边框的宽度
3.3 对参数**options的解释
**options对多参数函数的引用其参数的表格为字典。 *options对多参数函数的引用其参数的表格为列表。 函数定义 def cunn1**options def cunn2*options 函数调用 cc cunn1bg“#ffffff” cc cunn2 “#ffffff” 对比 **options不关注参数顺序但必须提供参数名称 *options 参数严格按顺序输入无法提供参数名称