【发布时间】:2021-06-25 09:45:01
【问题描述】:
我正在寻找一种在 python 中创建一个窗口的方法,我可以在其中控制每个单独的像素。还有我可以使用函数实时更新它们的地方。我的目标是创建一个 python 包。所以这个想法是:
import package
app = package.main()
app.init() # This would create the window
app.set_pixel(0, 0, (255, 0, 0)) # And this would set the pixel with x = 0 and y = 0 to red
我尝试过 PyGame 和 Tkinter,但它们都使用主循环,并且在循环启动后调用的所有函数都不会执行,除非应用程序关闭。
有没有办法像这样可以实时更新所有内容?
【问题讨论】:
-
看tkinter的
.after方法。语法为:<any tkinter widget>.after(time_delay_in_ms, function_to_call)。 Tkinter 会在延迟后自动调用你的函数。 -
查看这些答案:Change the color of a pixel in a canvas。以下是在没有第三方库的情况下在 tkinter 中操作图像的示例:How to change the pixel color of a PhotoImage、How to work with pixels。
-
主要问题是:为什么需要它?你想创建某种动画或像素艺术还是什么?在pypi.org 寻找类似的包。源代码通常可以在 GitHub 上找到。
-
我想做的是重新创建一个名为“kandinsky”的模块,该模块仅适用于 numworks 计算器,我想为 pc 制作它。我已经知道如何编辑像素,我正在寻找一种实时更新它们的方法,而不是延迟。例如,从控制台运行命令并查看屏幕更新。
-
你有没有想过在不同的线程中运行 tkinter?