gpt4 book ai didi

python - 在 TKinter 窗口中创建图形?

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:01 25 4
gpt4 key购买 nike

我正在编写一个脚本来运行数据并创建一个图表。这很容易完成。不幸的是,我使用的图形模块只能以 pdf 格式创建图形。不过,我希望在交互式窗口中显示图表。

他们有没有办法添加用 PyX 创建的图表?进入 TKinter 窗口或将 pdf 加载到框架或其他东西中?

最佳答案

您需要将 PyX 输出转换为位图以将其包含在您的 Tkinter 应用程序中。虽然没有方便的方法直接将 PyX 输出作为 PIL 图像获取,但您可以使用 pipeGS 方法准备位图并使用 PIL 加载它。这是一个相当简单的例子:

import tempfile, os

from pyx import *
import Tkinter
import Image, ImageTk

# first we create some pyx graphics
c = canvas.canvas()
c.text(0, 0, "Hello, world!")
c.stroke(path.line(0, 0, 2, 0))

# now we use pipeGS (ghostscript) to create a bitmap graphics
fd, fname = tempfile.mkstemp()
f = os.fdopen(fd, "wb")
f.close()
c.pipeGS(fname, device="pngalpha", resolution=100)
# and load with PIL
i = Image.open(fname)
i.load()
# now we can already remove the temporary file
os.unlink(fname)

# finally we can use this image in Tkinter
root = Tkinter.Tk()
root.geometry('%dx%d' % (i.size[0],i.size[1]))
tkpi = ImageTk.PhotoImage(i)
label_image = Tkinter.Label(root, image=tkpi)
label_image.place(x=0,y=0,width=i.size[0],height=i.size[1])
root.mainloop()

关于python - 在 TKinter 窗口中创建图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7950137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com