鱼C论坛

 找回密码
 立即注册
查看: 2007|回复: 6

[已解决]tkinter之中的属性问题

[复制链接]
发表于 2016-3-31 21:04:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天弄了一下tkinter,按照书上的例子画了几个方块,但是所画出来的方块都是黑色的,我想让它编程彩色边框,于是就在
canvas.create_rectangle(x1,y1,x2,y2)之中添加了color属性,结果报错,然后又添加了highlightcolor属性,结果又报错说没有这个属性,本来这些我是在Canvas类的Valid resource names之中照的属性,如图中所示,

画出来的图片

画出来的图片

但是说这个属性是没有的,但是我加上了width 属性之后却又是正常的,最后我在网上搜索,找到使用outline属性,就可以设置边框的值,但是没有在上图之中找到outline这个属性,代码如:
canvas.create_rectangle(x1,y1,x2,y2,width=2,outline=‘red’,这时候是成功的,我不明白是怎么回事,希望高手解答一下,最后我画出来的图如下:

Canvas之中的属性值

Canvas之中的属性值



也就是说,问题是:有的属性在Valid resource names属性列表之中,可以用、但是有的属性在属性列表之中,不可用、但是有的属性不在属性列表之中,却可以用,这是怎么回事啊?

针对比如create_rectangle这些方法而言,在使用时,他们所可以操作的属性,该从哪儿去找啊?为什么没有提及呢?从何处去找到?
最佳答案
2016-4-4 19:45:12
1.先解惑,针对你的问题:有的属性在valid resource names列表中,不可用,有的不在其中,却可用。
那么,问题很简单了,'其中'的其指什么?也就是说这里的属性是谁的属性?
很显然,这些valid resource names列表中属性只是canvas这个类的属性。
那么答案就是:
不在其中的属性,却可用,显然,它是create_rectangle()的属性嘛。
那还有个问题:在valid resource naems中的属性却不可用,这又是为什么?
一种可能的解释是(因为我没仔细研究,不敢妄评):canvas的属性与 create_rectangle()的属性之间存在互斥关系,也就是说可能会相互覆盖。
2.关于最后一个问题,去哪里找?
这基本不算问题吧,当然是去官网找啊。
虽然我也不知道这算不算官网:http://effbot.org/tkinterbook/
这是直接看Canvas.create_rectangle-method
http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_rectangle-method
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-4-1 18:09:15 | 显示全部楼层
每人啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-1 20:08:53 | 显示全部楼层
主要是学tk的好像比较少!@小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-2 00:40:57 | 显示全部楼层
@小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-3 21:19:33 | 显示全部楼层
还是没有人啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-4 19:45:12 | 显示全部楼层    本楼为最佳答案   
1.先解惑,针对你的问题:有的属性在valid resource names列表中,不可用,有的不在其中,却可用。
那么,问题很简单了,'其中'的其指什么?也就是说这里的属性是谁的属性?
很显然,这些valid resource names列表中属性只是canvas这个类的属性。
那么答案就是:
不在其中的属性,却可用,显然,它是create_rectangle()的属性嘛。
那还有个问题:在valid resource naems中的属性却不可用,这又是为什么?
一种可能的解释是(因为我没仔细研究,不敢妄评):canvas的属性与 create_rectangle()的属性之间存在互斥关系,也就是说可能会相互覆盖。
2.关于最后一个问题,去哪里找?
这基本不算问题吧,当然是去官网找啊。
虽然我也不知道这算不算官网:http://effbot.org/tkinterbook/
这是直接看Canvas.create_rectangle-method
http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_rectangle-method
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-5 12:46:39 | 显示全部楼层
小小大鱼 发表于 2016-4-4 19:45
1.先解惑,针对你的问题:有的属性在valid resource names列表中,不可用,有的不在其中,却可用。
那么, ...

@小小大鱼 多谢,你的回答解决了我的问题,谢谢,确实是valid resource names是对应的类的属性,而每个类里面的方法,有对应不同的属性,这些属性在Python Manuals之中没有给出来,需要在tkinter的说明文档中寻找,http://effbot.org/tkinterbook/,这就解决了我提出来的问题。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 17:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表