问题标签 [tkinter-canvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
745 浏览

python - 四分之一圆轮廓的点

我今天的问题是,我不想为一根倒下的棍子制作动画。所以首先棍子站立:| 然后它落在右边:/ _ 但是我如何使用 Pythons Canvas 获得该动画?Canvas 没有旋转项目的功能,所以我需要一个像 x = y*z 这样的数学公式我的脚本到现在:

所以棍子应该是这样的: 在此处输入图像描述

正如您在上面的脚本中看到的,我的问题已经解决了:)

0 投票
1 回答
6047 浏览

python - Tkinter - 查找某种类型的最近对象

我在这里遇到的问题是我无法找到某种类型的最近对象。最好我给你代码,让你明白我的意思:

正如您在此处看到的,您可以单击屏幕上的任意位置,它将返回最近的对象。这是我想要实现的,但在屏幕上有其他我希望被忽略的对象。我可以通过使用标签来做到这一点,但这里的问题是您出于某种原因需要单击实际对象。此代码用于显示我的问题。我的实际代码是河内塔游戏,我的目标是找到最近的极点,以便磁盘能够捕捉到它,但是如果在移动磁盘之前不单击每个极点,我就无法找到最近的极点。

这是显示我的问题的代码。注意:我只将 "w.bind("", identify)" 更改为 "w.tag_bind("line", "", identify)"

0 投票
1 回答
3167 浏览

python - (Python tkinter 画布小部件)单击后如何更改 9 个正方形中的 1 个的颜色?

我正在尝试使用 python 构建一个简单的井字游戏,除了最后的视觉效果外,几乎现在就在那里:

当我单击它时,我需要能够修改画布上显示的 9 个方块中的任何一个。在堆栈上搜索了一堆示例......好吧......没有一个工作我使用字典来映射光标:

self.map = {(0, 0): 0, (0, 1): 1, (0, 2): 2, (1, 0): 3, (1, 1): 4, (1, 2) : 5, (2, 0): 6, (2, 1): 7,(2, 2): 8}

左上角的第一个正方形是 0 看起来这不起作用: id= self.canvas.create_rectangle() 对此不起作用。self.canvas.itemconfig(id,fill='bule')

我正在寻找一种有效的方法来访问填充或单击的正方形而不是其余部分。谢谢

我所有的代码都附在这里:

0 投票
1 回答
2319 浏览

python - Python TicTacToe GUI Game Crash when Tie

我正在尝试使用 python 构建一个简单的井字游戏,现在几乎就在那里,除了当它是平局时游戏崩溃

所以当它是平局时,最后点击的空方块不会像其他人那样改变颜色,并且窗口冻结,点击被禁用......我不知道原因是

我的整个代码在这里:

0 投票
2 回答
84 浏览

python - 移动基础坐标 Tkinter

我想移动 tkinter 画布上的坐标,以便左下角是(0, 0),这意味着右上角是(height, width)

我该怎么做?

0 投票
1 回答
53 浏览

python - 碰撞检测问题和无效的命令名称?

对于我的计算机课程中的一个项目,我正在创建一个破砖器风格的游戏,我即将完成编写它但是碰撞检测不起作用。当我运行程序时有一条消息说:

这是什么意思,为什么碰撞检测不起作用?

好的编辑:我有另一个稍微不同版本的相同代码,我知道碰撞检测正在工作,但只有分数发生变化,砖块没有消失,球也没有反弹。我不明白为什么下面这个版本有一个工作分数而第一个没有,我不明白为什么两个代码都没有成功删除砖块并反弹球。此代码也有类似的错误消息,只是数字不同。有人可以解释一下,我是编码新手。

0 投票
1 回答
1574 浏览

python - 使用 Tkinter 点击绘图

我已经有一个 10X10 的正方形网格,当单击它时,我想在网格中的一个正方形上绘制另一个正方形。

现在,我有在框架中绘制网格的函数和确定正方形坐标(左上角和右下角)的函数。

我遇到问题的部分是

在哪里

upperX,upperY,lowerX,lowerY 都是确定鼠标所在方格坐标的函数。

我不知道为什么当我单击画布上的某些内容时 changeBlock 不运行。

满的:

0 投票
1 回答
313 浏览

python - Tkinter 实时图形画布停止更新,直到鼠标移动

这是一个 n00b 形式的 Python 2.7 问题:

我正在运行一个从串行端口读取数据并使用 Tkinter-Canvas 制作实时图表的应用程序。我没有使用 matplotlib,因为这个库在我想运行程序的 A20 平台上不可用。(mpl的一些依赖在A20上还不是必需的版本)

我知道这不是绘制实时图表的最优雅的方式,但对我来说,它似乎是最兼容的,因为它只是依赖 Tkinter 作为 lib,它在每个平台上都可用。每次新数据进入时,我基本上都会删除画布并用一个位置偏移重新绘制它。它会闪烁一点,但正如我所说......我是一个n00b。:)

这是我绘制图表的代码:

到目前为止它工作正常,但我注意到一个奇怪的错误:

半分钟左右后,画布停止更新,即使程序本身仍在完美运行。当我将鼠标移到应用程序上时,画布再次更新。我每 0.5 秒调用一次 NewEntry 函数。我想时不时地生成一个鼠标事件,但这将是一个令人讨厌的工作......非常感谢任何帮助!

谢谢,

甲板

0 投票
1 回答
251 浏览

python-3.x - 在 Python3 / tkinter 中刷新画布类似于 MATLAB“坚持”

我正在尝试创建一个程序,该程序基于两个滑块(最小值和最大值)在画布上绘制任意数量的点,其中值是从数据列表中读取的。

我遇到的问题是每次操作滑块时都用新点刷新画布。我让它工作的唯一方法是每次拉动滑块时重新绘制整个画布(如下面的代码片段所示),但这似乎相当无效,并且还会产生令人讨厌的闪烁。我希望画布是静态的,然后在操纵滑块时从列表中绘制点。

一些有效的示例代码,尽管为了便于阅读,我对部分进行了缩写:

我已经搜索了这个主题,我反复遇到“update_idletasks()”,但我还没有让它工作。

有任何想法吗?

0 投票
1 回答
2547 浏览

python-3.x - 更新 tkinter 画布上的文本字段

我第一次在 Python 中使用 tkinter 创建了一个 GUI。我使用过 wxPython 并没有遇到同样的问题,但我从未使用过画布。画布背后的思考过程是最终添加动画。我创建了一个网格布局,其中一个网格是画布。我正在尝试使用 itemconfig 更新分数字段,但没有让两个分数字段在画布上更新。我的代码如下。关于如何更新画布上的两个分数的任何建议?我希望在将新分数写入屏幕之前删除旧分数。谢谢参观。原谅全局变量,随着过程的进行,它们将被删除。