python中tkinter treeview如何获取选中的条目

python中tkinter treeview如何获取选中的条目,第1张

定义这样的函数去专门取tree上的值

def selectItem(a):

curItem = treefocus()

print treeitem(curItem)

它返回一个字典类型的集合,你只要遍历字典就可以把你需要的值取出来。。。

打开图像时,使用单选按钮注释值。在

在列表中收集此值

因此,在这个例子中,我有2个复合词,列表将有2个注释。在

在import Tkinter as tk

from PIL import ImageTk, Image

from tkFileDialog import askopenfilename

cmp_list = ["VU435DR","VU684DR"]

li = []

li_final = []

def sel():

selection = str(varget())

if selection == "1":

liappend("Antagonist")

elif selection == "2":

liappend("Agonist")

for i in range(len(cmp_list)):

root = tkTk()

var = tkIntVar()

ig = str(cmp_list[i] + 'png')

img = ImageTkPhotoImage(Imageopen(ig))

panel = tkLabel(root,image=img)

panelpack(side = "top",fill="none",expand="no")

#w = tkText(height=2,width=50)

#wpack(side='right")

q = tkRadiobutton(root,text="Antagonist",command=sel,value=1,variable=var)

qpack()

r = tkRadiobutton(root,text="Agonist",command=sel,value=2,variable=var)

rpack()

rootmainloop()

print li

在写python程序时,常能用到一些函数和方法,总结一下,保存起来,方便查询。

一、内置函数

# abs()获取数字绝对值

# chr(i)数字转换为字符类型

# divmod() 获取两个数值的商和余数

# enumerate() 将可遍历序列组合为索引序列

# float()转换为浮点数

# format() 格式化字符串

# int()转换为整数 

# input() 接受用户输入内容

# len() 计算元素个数

# max() 返回最大值

# min() 返回最小值

# mathceil() 返回指定数值的上舍整数

# open()打开文件并返回文件对象

# pow() 幂运算

# print()打印输出 

# range() 生成器

# reversed()反转所有元素

# round()四舍五入求值

# sorted()对可迭代对象进行排序 

# str() 转换为字符串

# sum() 求和

# set() 创建集合

# tuple() 将序列转换为元组

# zip()将可迭代对象打包成元组

二、方法

# append() 添加列表元素

# capitalize()首字母转换为大写 

# count()字符出现次数

# close() 关闭文件

# decode() 解码字符串

# dictkeys() 获取字典所有的键

# find()字符串首次出现的索引

# fread() 读取文件内容

# dictupdate()更新字典

# dictitems() 获取字典键/值对

# dictget() 返回指定键的值

# encode() 编码字符串

# listsort() 排序列表元素

# index() 元素首次出现的索引

# isdigit() 判断字符串是否只由数字组成

# isupper() 是否所有字母都为大写

# isnum() 判断字符串是否由字母和数字组成

# islower() 是否所有字母都为小写

# isdecimal() 检查字符串是否只包含十进制字符

# isalpha() 检测字符串是否为纯字母

# randomshuffle()随机排序

# randomsample()返回无重复随机数列表

# randomchoice() 返回一个随机元素

# randomrandint() 生成指定范围的随机整数

# randomrandrange() 生成指定范围的指定递增基数随机整数

# pop() 删除列表中的元素

# remove()删除列表中的指定元素

# strip()去除空格

# lstrip()去除左侧空格

# rstrip() 去除右侧空格

# readline() 读取单行内容

# rootafter() Tkinter中等待一段时间后再执行命令

# strisnumeric() 验证字符串是否为数字(适用于Unicode)

# split()分割字符串

# ord() 将字符转换为整数

# replace() 字符串替换

# ljust() 左对齐填充

# rjust() 左对齐填充

# readlines() 读取所有行内容

# datetimedatetimenow() 返回指定时区的本地日期时间

# datetimedatetimetoday() 获取当前本地日期的date对象

# datetimeutcnow() 返回当前UTC时间的datetime对象

# timestrptime()把时间字符串解析为元组

# timetime()返回当前时间的时间戳

# timesleep()暂停指定秒数

# timestrftime() 返回指定格式的日期字符串

# timemktime() 接收时间元组并返回时间戳

# osgetcwd() 获取当前工作目录

# oslistdir() 获取指定路径下的目录和文件列表

# osmakedirs() 递归创建目录

# osrename() 重命名目录或文件

# ospathexists() 判断路径是否存在

# upper() 全部转换为大写字母

# lower()  全部转换为小写字母

# sysstdoutwrite() 标准输出打印

# sysstdoutflush()刷新输出 

# shutilcopy() 复制单个文件到另一文件或目录

# write() 写入文件内容

# winsoundBeep() 打开电脑扬声器

# zfill() 在字符串前面填充0

三、循环语句

# break终止当前循环

# continue 终止本循环进入下一次循环

# with open() as file 以with语句打开文件(数据保存)

四、转义字符

\ 行尾续行符

\' 单引号 

\'' 双引号

\a 响铃

\e 转义

\n 换行

\t 横向制表符

\f 换页

\xyy 十六进制yy代表的字符

\\反斜杠符号

\b 退格

\000 空

\v 纵向制表符

\r 回车

\0yy 八进制yy代表的字符

\other 其他的字符以普通格式输出

root = TkinterTK() 

entrytext = TkinterEntry(root)

text = entrytextget()

print text

#我在27下面就这样用的,不知道30下能不能用,希望对你有些帮助

python简述:

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。Python[1]已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率是呈线性增长。

tkinter模块介绍

tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里,Tk80的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

由于Tkinter是内置到python的安装包中、只要安装好Python之后就能import Tkinter库、而且IDLE也是用Tkinter编写而成、对于简单的图形界面Tkinter还是能应付自如。

八、显示文字

用create_text在画布上写字。这个函数只需要两个坐标(文字x和y的位置),还有一个具名参数来接受要显示的文字。例如:

>>> from tkinter import>>> tk = Tk()>>> canvas = Canvas(tk,width=400,height=400)>>> canvaspack()>>> canvascreate_text(150,100,text='Happy birthday to you')

create_text函数还有几个很有用的参数,比方说字体颜色等。在下面的代码中,我们调用create_text函数时使用了坐标(130,120),还有要显示的文字,以及红色的填充色:

canvascreate_text(130,120,text='Happy birthday to you!',fill='red')

我们还可以指定字体,方法是给出一个包含字体名和字体大小的元组。例如大小为20的Times字体就是('Times',20):

>>> canvascreate_text(150,150,text='Happy birthday',font=('Times',15))>>> canvascreate_text(200,200,text='Happy birthday',font=('Courier',22))>>> canvascreate_text(220,300,text='Happy birthday',font=('Couried',30))

九、显示

要用tkinter在画布上显示,首先要装入,然后使用canvas对象上的create_image函数。

这是我存在E盘上的一张:

我们可以这样来显示onegif:

>>> from tkinter import>>> tk = Tk()>>> canvas = Canvas(tk,width=400,height=400)>>> canvaspack()>>> my_image = PhotoImage(file='E:\\FFOutput\\onegif')>>> canvascreate_image(0,0,anchor = NW,image = my_image) >>> canvascreate_image(50,50,anchor = NW,image = my_image)

在第五行中,把装入到变量my_image中。坐标(0,0)/(50,50)是我们要显示的位置, anchor=NW让函数使用左上角(northwest 西北方)作为画图的起始点,最后一个具名参数image指向装入的。

注:用tkinter只能装入GIF,也就是扩展名是gif的文件。

想要显示其他类型的,如PNG和JPG,需要用到其他的模块,比如Python图像库。

十、创建基本的动画

创建一个填了色的三角形,让它在屏幕上横向移动:

import timefrom tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=200)canvaspack()canvascreate_polygon(10,10,10,60,50,35) ##创建三角形for x in range(0,60): canvasmove(1,5,0) ##把任意画好的对象移动到把x和y坐标增加给定值的位置 tkupdate()   ##强制tkinter更新屏幕(重画)   timesleep(005) ##让程序休息二十分之一秒(005秒),然后再继续

三角形横向移动

延伸一下,如果想让三角形沿对角线在屏幕上移动,我们可以第8行为:

import timefrom tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvaspack()canvascreate_polygon(10,10,10,60,50,35) ##创建三角形for x in range(0,60): canvasmove(1,5,5) ##把任意画好的对象移动到把x和y坐标增加给定值的位置 tkupdate()   ##强制tkinter更新屏幕(重画)   timesleep(005) ##让程序休息二十分之一秒(005秒),然后再继续

三角形沿对角线移动

如果要让三角形在屏幕上沿对角线回到开始的位置,要用-5,-5(在结尾处加上这段代码)

import timefrom tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvaspack()canvascreate_polygon(10,10,10,60,50,35) ##创建三角形for x in range(0,60): canvasmove(1,5,5) ##把任意画好的对象移动到把x和y坐标增加给定值的位置 tkupdate()   ##强制tkinter更新屏幕(重画)   timesleep(005) ##让程序休息二十分之一秒(005秒),然后再继续for x in range(0,60): canvasmove(1,-5,-5)  tkupdate()     timesleep(005)

对角线运动并回到初始位置

十一、让对象对 *** 作有反应

我们可以用“消息绑定”来让三角形在有人按下某键时有反应。

要开始处理事件,我们首先要创建一个函数。当我们告诉tkinter将某个特定函数绑到(或关联到)某个特定事件上时就完成了绑定。

换句话说,tkinter会自动调用这个函数来处理事件。

例如,要让三角形在按下回车键时移动,我们可以定义这个函数:

def movetriangle(event): canvasmove(1,5,0)

这个函数只接受一个参数(event),tkinter用它来给函数传递关于事件的信息。现在我们用画布canvas上的bind_all函数来告诉tkinter当特定事件发生时应该调用这个函数。代码如下:

from tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvaspack()canvascreate_polygon(10,10,10,60,50,35)def movetriangle(event): canvasmove(1,5,0)canvasbind_all('<KeyPress-Return>',movetringle) ##让tkinter监视KeyPress事件,当该事件发生时调用movetriangle函数

那么我们如何根据按键的不同而改变三角形的方向呢?比如用方向键。

我们可以尝试改下movetriangle函数:

def movetriangle(event): if eventkeysym == 'up':  canvasmove(1,0,-3) ##第一个参数使画布上所画的形状的ID数字,第二个是对x(水平方向)坐标增加的值,第三个是对y(垂直方向)坐标增加的值 elif eventkeysym == 'down':  canvasmove(1,0,3) elif eventkeysym == 'left':  canvasmove(1,-3,0) else  canvasmove(1,3,0)

最后代码汇总在一起为:

from tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvaspack()canvascreate_polygon(10,10,10,60,50,35)def movetriangle(event): if eventkeysym == 'Up':  canvasmove(1,0,-3) ##第一个参数使画布上所画的形状的ID数字,第二个是对x(水平方向)坐标增加的值,第三个是对y(垂直方向)坐标增加的值 elif eventkeysym == 'Down':  canvasmove(1,0,3) elif eventkeysym == 'Left':  canvasmove(1,-3,0) else:  canvasmove(1,3,0)canvasbind_all('<KeyPress-Up>',movetriangle) ##让tkinter监视KeyPress事件,当该事件发生时调用movetriangle函数canvasbind_all('<KeyPress-Down>',movetriangle)canvasbind_all('<KeyPress-Left>',movetriangle)canvasbind_all('<KeyPress-Right>',movetriangle)

方向键控制三角形的移动

十二、更多使用ID的方法

只要用了画布上面以create_开头的函数,它总会返回一个ID。这个函数可以在其他的函数中使用。

如果我们修改代码来把返回值作为一个变量保存,然后使用这个变量,那么无论返回值是多少,这段代码都能工作:

>>> mytriangle = canvascreate_polygon(10,10,10,60,50,35)>>> canvasmove(mytriangle,5,0)

我们可以用itemconfig来改变三角形的颜色,这需要把ID作为第一个参数:

>>> canvasitemconfig(mytrigle,fill='bue') ##把ID为变量mytriangle中的值的对象的填充颜色改为蓝色

也可以给三角形一条不同颜色的轮廓线,同样适用ID作为第一个参数:

>>> canvasitemconfig(mytrigle,outline='red')

总结做出了简单的动画。学会了如何用事件绑定来让图形响应按键,这在写计算机游戏时很有用。在tkinter中以create开头的函数是如何返回一个ID数字。

已经学习Python两天,最开始是想着是通过觉得用它写个动画或者画个图形比较方便,而且界面美观,比黑洞洞的dos窗口好多了,准备写个程序送个一女孩作为生日礼物(去年答应好的)。经过这两天的学习,我慢慢发觉了Python语言的优点,其最主要的就是易学,而且可以调用各种库。

以上就是关于python中tkinter treeview如何获取选中的条目全部的内容,包括:python中tkinter treeview如何获取选中的条目、Python里tkinter如何重置单选按钮、python基础:内置函数、方法、转义字符大全等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9800495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存