gpt4 book ai didi

python - 在 Python Tkinter 窗口中显示 Google Map API

转载 作者:行者123 更新时间:2023-11-28 16:52:39 28 4
gpt4 key购买 nike

您好,我正在使用 Python 开发 Google Map API。我使用的源代码可以在这里找到 website

此代码在编译后会生成一个“htm”文件,其中显示了 Google map 以及放置在 map 上的标记。

所以我创建了如下所示的窗口框架:

from Tkinter import *  # order seems to matter: import Tkinter first
import Image, ImageTk # then import ImageTk
class MyFrame(Frame):
def __init__(self, master, im):
Frame.__init__(self, master)
self.caption = Label(self, text="Some text about the map")
self.caption.grid()
self.image = ImageTk.PhotoImage(im) # <--- results of PhotoImage() must be stored
self.image_label = Label(self, image=self.image, bd=0) # <--- will not work if 'image = ImageTk.PhotoImage(im)'
self.image_label.grid()
self.grid()

im = Image.open("test.html") # read map from disk

# or you could use the PIL image you created directly via option 2 from the URL request ...
mainw = Tk()
mainw.frame = MyFrame(mainw, im)
mainw.mainloop()

对于该窗口框架,我想在该窗口框架中显示 Google map 的“htm”图像。

最佳答案

pymaps 生成的 htm 图像不是图像,而是 html 文件。基本上是一个小网页。要显示它,您必须渲染 html。我所知道的 TkInter 的唯一 html 渲染器是 TkHTML ,尽管我从未使用过它,因此它可能不支持您的 html 文件使用的所有 javascript。

您最好完全放弃 TkInter 并切换到更现代的小部件工具包,例如内置 html 渲染的 wxPython。您可以在 wxPython 中查看 html 文档 here .如果你的系统上有 GTK,我用过 pywebkitgtk成功。

但是,您是否需要为特定的对象渲染此帧?如果你只想从 python 打开文件,你可以使用 webbrowser内置库以使用默认浏览器打开它。

import webbrowser

webbrowser.open('test.htm')

就是这样。

关于python - 在 Python Tkinter 窗口中显示 Google Map API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5444438/

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