python tkinter insert函数_(9条消息) Python tkinter

*18.2.23 dchars(args)

*args传递的参数有3个:

(1)tagOrId:对象ID或者标签tag

(2)from:开始的字符位置

(3)to:可选项,结束的字符位置。

dchars的作用就是从tagOrId指定对象中,删除字符。删除从from指定的位置开始,到to指定的位置结束。如果to没有指定,则只删除一个字符。

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_text(120,20)

b1.insert(t,tk.INSERT,'新年快乐')

def delete():

b1.dchars(t,0)

b2=tk.Button(root,text='Delete',command=delete)

b2.pack()

b1.pack()

root.mainloop()

结果:

*18.2.24 delete(args)

*args传递的参数只有一个:

(1)tagOrId:表示对象ID或者tag(标签)

delete的作用是删除tagOrId指定的对象。对象可以是ID,也可以是标签tag。如果指定的对象不存在,也不会产生错误。

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_text(120,20,text='新年快乐')

def delete():

b1.delete(t)

b2=tk.Button(root,text='Delete',command=delete)

b2.pack()

b1.pack()

root.mainloop()

结果:

说明:点击’Delete’按钮之后,’新年快乐’对象会被删除。

*18.2.25 dtag(args)

*args可以有两个参数:

(1)tagOrId:对象ID或者标签tag。

(2)tagDelete:指定要删除的tag。如果没有设置此参数,表示删除tagOrId指定对象的所有tag。

dtag()的作用是从tagOrId指定的对象中删除指定的标签tag。如果tagOrId指定的对象不存在或者tagDelete不存在,并不会产生错误。

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_text(120,20,text='新年快乐',tag='txt')

def dtag():

b1.dtag(t,'txt')

print(b1.gettags(t))

b2=tk.Button(root,text='Dtag',command=dtag)

b2.pack()

b1.pack()

print(b1.gettags(t))

root.mainloop()

说明:tag(标签)的信息可以通过gettags()方法获取。

18.2.26 find_above(tagOrId)

返回在 tagOrId参数指定的对象之上的 ID。如果tagOrId是最顶端的对象,那么返回一个空元组。如果有多个对象符合要求,会返回最顶端的那个对象。tagOrId可以是对象ID,也可以是tag。

(1)tagOrId: 指定对象ID或者标签tag。

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_text(120,20,text='新年快乐',tag='txt')

t2=b1.create_text(220,20,text='新年快乐2',tag='txt2')

def find_above():

tag=b1.find_above(t)

print(tag)

b2=tk.Button(root,text='Find Above',command=find_above)

b2.pack()

b1.pack()

root.mainloop()

结果:

(2,)

说明:t2的值是2,所以返回的元组是(2,)

18.2.27 find_all()

返回 Canvas 控件上所有的对象。返回的格式是一个包括所有对象ID的元组。最顶端的对象在元组的最后一个。

18.2.28 find_below(tagOrId)

返回在 tagOrId参数指定的对象之下的 ID。如果tagOrId是最底层的对象,那么返回一个空元组。如果有多个对象符合要求,会返回最顶端的那个对象。tagOrId可以是对象ID,也可以是tag(标签)。

(1)tagOrId: 指定对象ID或者标签tag。

18.2.29 find_closest(x, y, halo=None, start=None)

返回一个元组,该元组包含最靠近坐标(x, y)的对象的ID。如果没有符合条件的对象,返回的是一个空的元组。可选参数halo设定一个距离,以(x, y)为中心,该距离内的所有画布对象均选中。可选参数start指定一个对象,该方法只返回在显示列表中低于但是最接近start指定对象的一个ID。

(1)x:水平坐标

(2)y: 垂直坐标

(3)halo: 设定一个距离,在以(x, y)为中心,该距离内的所有对象均选中。

(4)start:指定一个对象obj,位于显示列表中低于obj对象但是最靠近的对象被选中。

注:如果在没有指定halo和start参数的情况下,同时有多个对象符合条件,则为位于显示列表上方的那个对象被选中。

18.2.30 find_enclosed(x1, y1, x2, y2)

返回完全包含在限定矩形内所有对象的 ID。返回的对象一定是完全位于矩形范围内的,如果一个对象只是部分位于矩形范围内,则不会被选中。

(1)[x1,y1,x2,y2]:为限定矩形坐标。

18.2.31 find_overlapping(x1, y1, x2, y2)

返回所有与限定矩形有交叉或重叠的对象的 ID(当然也包含在限定矩形内的对象)。与find_enclosed的区别就是部分位于矩形范围内的对象也会被选中。

(1)[x1,y1,x2,y2]:为限定矩形坐标。

18.2.32 find_withtag(tagOrId)

返回 tagOrId指定的所有对象的 ID。tagOrId可以是单个对象的 ID,也可以是某个Tag

(1)tagOrId:对象ID或者标签tag。

*18.2.33. focus(args)

将焦点移动到指定的 *args第一个参数指定的对象(可以是单个对象的 ID,也可以是某个tag)上。如果有多个对象匹配,则将焦点移动到显示列表中第一个可以接受光标输入的画布对象。取消焦点的方法是调用focus(),也就是不带参数。

*18.2.34 gettags(args)

返回与 *args第一个参数相关联的所有 tags。第一个参数可以是单个对象的 ID,也可以是某个tag。

*18.2.35 icursor(args)

*args可以传递两个参数:

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)Inex:光标的位置。

icursor的作用是将光标移动到 tagOrId指定的对象, tagOrId指定的对象需要支持文本输入和获得焦点。

*18.2.36 index(args)

*args可以传递两个参数:

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)index 参数可以是:INSERT(当前光标的位置),END(最后一个字符的位置),SEL_FIRST(当前选中文本的起始位置),SEL_LAST(当前选中文本的结束位置),还可以使用格式为 “@x, y”(x 和 y 是画布坐标系)来获得与此坐标最接近的位置

index()的作用就是返回参数index 在指定 tagOrId中的位置。这个位置是一个整数。index()可以把用其他方式表示的位置信息转化为数值化位置信息。

*18.2.37 insert(args)

*args可以传递3个参数:

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)index 参数可以是:INSERT(当前光标的位置),END(最后一个字符的位置),SEL_FIRST(当前选中文本的起始位置),SEL_LAST(当前选中文本的结束位置),还可以使用格式为 “@x, y”(x 和 y 是画布坐标系)来获得与此坐标最接近的位置

(3)text: 要插入的文本

insert()的作用就是在允许进行文本编辑的对象的指定位置插入文本。

18.2.38. itemcget(tagOrId, option)

获得指定 tagOrId的选项的当前值

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)option:选项。具体的选项见前面创建画布对象的说明。

**18.2.39 itemconfig(tagOrId, options)

修改指定 tagOrId的选项的当前值

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)option:选项。

**18.2.40 itemconfigure(tagOrId, options)

跟 itemconfig() 的功能一样。

*18.2.41 lift(args)

将指定对象移动到显示列表的顶部。见tag_raise()。

*18.2.42 lower(args)

将指定对象移动到显示列表的底部。见tag_lower()。

*18.2.43 move(args)

*args可以传递的参数有:

(1)tagOrId:可以是单个对象的 ID,也可以是某个tag

(1)dx,dy: 增加的坐标值。dx,dy是要和现有的坐标相加,得到新的坐标值。也就是说新的坐标位置是(x+dx,y+dy)

将 tagOrId对象移动到新位置(x+dx, y+dy)

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_text(120,20,text='新年快乐')

def move():

b1.move(t,50,100)

b2=tk.Button(root,text='Move',command=move)

b2.pack()

b1.pack()

root.mainloop()

结果:

18.2.44 postscript(cnf={}, **kw)

将 Canvas 的当前内容封装成 PostScript格式表示

(1) options(kw) 选项的具体含义:

选项含义colormode该选项的值可以是:‘color’(颜色输出),‘gray’(灰阶输出)和 ‘mono’(黑白输出)

file 该选项指定一个文件,将 PostScript 写入该文件中,如果忽略该选项,PostScript 将以字符串的形式返回

height指定要打印的 Canvas 控件的高度,默认值是 Canvas 控件的整体高度

rotate如果该选项的值为 False,该页面将以纵向呈现

如果该选项的值为 True,该页面将以横向呈现

x开始打印的最左边位置,以Canvas坐标系表示

y开始打印的最顶端位置,以Canvas坐标系表示

width指定要打印的 Canvas 控件的宽度

默认值是 Canvas 控件的整体宽度

*18.2.45 scale(args)

*args传递的参数有:

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)xOrigin, yOrigin: 要缩放的位置

(3)xScale ,yScale 要缩放的比例

缩放 tagOrId指定的对象。tagOrId指定的对象到(xOrigin,yOrigin)的距离向量(xDistnace,yDistance)分别乘以(xScale,yScale),就是tagOrId的新的位置以及形状。

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_rectangle(120,50,140,70,fill='red')

def Scale():

tag=b1.scale(t,50,50,2,2)

b1.create_rectangle(120,50,140,70,fill='blue')

b1.create_rectangle(50,50,70,70,fill='red')

b2=tk.Button(root,text='Scale',command=Scale)

b2.pack()

b1.pack()

root.mainloop()

结果:

说明:

1)图一中的小红色正方形是最初的图形

2)图二中的大的红色正方形是放大2倍后,并移动到新位置的正方形

3)图二中蓝色的正方形就是图一中的红色正方形。

4)图二中的小红色正方形是缩放或者映射的原始坐标点。可以看到,大的红色正方形到小的的红色正方形的距离是蓝色正方形的两倍。也就是距离和大小都被缩放了。

5)文字对象不会出现缩放,但是可以移动。

18.2.46 scan_dragto(x, y,gain=10)

见下方 scan_mark(x, y)。

18.2.47 scan_mark(x, y)

实现 Canvas 内容的滚动,需要将鼠标按钮事件及当前鼠标位置绑定到 scan_mark(x, y) 方法,然后再将 事件及当前鼠标位置绑定到 scan_dragto(x,y) 方法,就可以实现 Canvas 在当前位置和sacn_mack(x, y) 指定的位置 (x, y) 之间滚动

(1)x,y:坐标值

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_rectangle(120,50,140,70,fill='red')

t2=b1.create_rectangle(160,50,200,70,fill='red')

def move_from(event):

b1.scan_mark(event.x, event.y)

def move_to(event):

b1.scan_dragto(event.x, event.y, gain=1)

b1.bind('', move_from)

b1.bind('', move_to)

b1.pack()

root.mainloop()

说明:1)先绑定鼠标左键按下事件,回调函数中调用scan_mark()

2)再绑定鼠标移动事件,回调函数中调用scan_dargto()

通过调用绑定这两个事件以及调用scan_mark和scan_dargto方法,可以实现画布内容的拖动。

18.2.48 select_adjust(tagOrId, index)

调整文本对象的选中范围,使得给定的 index 参数指定的位置在范围内

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)index:指定index

18.2.49 select_clear()

取消 Canvas 控件中所有选中的文本对象。

18.2.50 select_from(tagOrId, index)

设定文本对象选中范围的起始位置为 index 参数指定的位置

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)index:指定index

18.2.51 select_item()

返回在Canvas 控件中有文本被选中的对象ID。如果没有则返回 None。

18.2.52 select_to(tagOrId, index)

设定文本对象选中范围的结束位置为 index 参数指定的位置

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)index:指定index

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

t=b1.create_text(120,50,text='新年快乐')

def sel():

b1.select_from(t,1)

b1.select_to(t,2)

b2=tk.Button(root,text='Select',command=sel)

b2.pack()

b1.pack()

root.mainloop()

结果:

18.2.53 tag_bind(tagOrId, sequence=None, func=None, add=None)

为 Canvas 控件上的对象绑定方法。

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2) sequence参数是绑定的事件名称

(3)func是与sequence关联的方法

(4)add:一般情况下,新的绑定会取代已有的绑定。不过如果此参数为“+”的话,新的绑定添加到已有的绑定中。

*18.2.54 tag_lower(args)

将一个或多个对象移至底部或者某一指定对象的下面, 如果是多个画布对象,将它们都移至底部并保留原有顺序。

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)belowThis指定一个对象,tagOrId指定的对象会移动到该对象的下方。如果没有指定,就移动到这个显示列表的最下方。

*18.2.55 tag_raise(args)

将一个或多个对象移至顶部, 如果是多个画布对象,将它们都移至顶部并保留原有顺序

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2)aboveThis指定一个对象,tagOrId指定的对象会移动到该对象的上方。如果没有指定,就移动到这个显示列表的最上方。

import tkinter as tk

root=tk.Tk()

root.geometry('320x240')

b1=tk.Canvas(root)

for i in range(5):

b1.create_text(120,10+i*20,

text='新年快乐',tag=str(i))

b3=tk.Text(b1,width=20,height=4)

w=b1.create_window(120,150,window=b3,tag='win')

def lift():

b1.tag_raise('win','3')

b3.insert(tk.END,'\n')

b3.insert(tk.END,b1.find_all())

b2=tk.Button(root,text='Raise',command=lift)

b2.pack()

b1.pack()

b3.insert(tk.END,b1.find_all())

root.mainloop()

结果:

说明:图一是最开始的显示列表,点击’Raise’后,显示列表的次序发生变化。6是window控件,由最下面移动到了tag=’3’的下面。

18.2.56 tag_unbind(tagOrId, sequence, funcid=None)

解除与 tagOrId绑定的事件

(1)tagOrId可以是单个对象的 ID,也可以是某个tag

(2) sequence参数是绑定的事件名称

(3)funcid:默认是None,表示解除所有的回调函数。但是也可以指定特定的回调函数,表示只解除特定的回调函数。

*18.2.57 tkraise(args)

将指定对象移动到显示列表的顶部,跟 tag_raise 一样。

18.2.58 type(tagOrId)

返回指定对象的类型,返回值可以是:“arc”, “bitmap”,“image”, “line”, “oval”, “polygon”,“rectangle”, “text”, 或"window"。

*18.2.59 xview(args)

该方法用于在水平方向上滚动 Canvas 组件的内容,一般通过绑定 Scollbar 组件的 command 选项来实现。

(1) 如果第一个参数是 MOVETO,则第二个参数表示滚动到指定的位置:0.0 表示最左端,1.0 表示最右端。

(2) 如果第一个参数是 SCROLL,则第二个参数表示滚动的数量,第三个参数表示滚动的单位(可以是 UNITS 或 PAGES),例如:xview(SCROLL,3, UNITS) 表示向右滚动三个单位距离。

18.2.60 xview_moveto(fraction)

跟 xview(MOVETO, fraction) 一样。

18.2.61 xview_scroll(number, what)

跟 xview(SCROLL, number, what) 一样。

*18.2.62 yview(args)

该方法用于在垂直方向上滚动 Canvas 组件的内容,一般通过绑定 Scollbar 组件的 command 选项来实现。

(1) 如果第一个参数是 MOVETO,则第二个参数表示滚动到指定的位置:0.0 表示最顶端,1.0 表示最底端

(2) 如果第一个参数是 SCROLL,则第二个参数表示滚动的数量,第三个参数表示滚动的单位(可以是 UNITS 或 PAGES),例如:yview(SCROLL,3, PAGES) 表示向下滚动三页。

18.2.63 yview_moveto(fraction)

跟 yview(MOVETO, fraction) 一样。

18.2.64 yview_scroll(number, what)

跟 yview(SCROLL, number, what) 一样。

你可能感兴趣的:(python,tkinter,insert函数)