Tkinter:如何为画布矩形的轮廓着色?

Posted

技术标签:

【中文标题】Tkinter:如何为画布矩形的轮廓着色?【英文标题】:Tkinter: how to colorize the outline of a canvas rectangle? 【发布时间】:2015-06-29 22:47:00 【问题描述】:

我在 Canvas 上画了一个矩形:

 canvas = Canvas(parent,  cursor="cross")   
 rect = canvas.create_rectangle(20,20, 1, 1, fill="")

我只想绘制边框,让内部透明(这就是我设置fill="" 的原因,如提到的here)。

我的问题:

我希望矩形有一个红色边框。我该怎么做?

【问题讨论】:

【参考方案1】:

来自page you linked:

大纲= 轮廓颜色。默认为“黑色”。

【讨论】:

谢谢,我投了赞成票,但我接受了最早的答案 感谢您的投票,但请不要接受答案,因为它是最早的,接受most helpful to you, personally的答案。如果 martineau 的回答符合这一点,那么您完全可以接受他的回答而不是我的回答,不需要进一步的理由。为了记录,我比 martineau 早了 1 分 20 秒 ;)【参考方案2】:

默认情况下,一个矩形的内部是空的,你也可以这样获取 fill='' 的行为而不是仅仅忽略它。

如果您想勾勒出矩形,只需在 create_rectangle() 调用中添加一个名为 outline 的关键字参数:

rect = canvas.create_rectangle(20,20, 1, 1, outline='red')

您还可以通过在调用中添加width=xxx 关键字参数来控制边框的宽度。默认宽度为 1 像素。

【讨论】:

非常感谢(我也需要增加宽度,我忘了提但你做到了:)

以上是关于Tkinter:如何为画布矩形的轮廓着色?的主要内容,如果未能解决你的问题,请参考以下文章

如何清除 Tkinter 画布?

tkinter的控件

Tkinter 组件

简单的 Qt 小部件来绘制线条和形状(如 tkinter 画布)?

如何设置 Python tkinter 画布元素的 z 索引?

tkinter canvas create_window