【问题标题】:Tkinter not working on macos Mojave version 10.14.4Tkinter 无法在 macos Mojave 版本 10.14.4 上运行
【发布时间】:2020-05-20 12:20:52
【问题描述】:

我正在运行一个简单的 Tkinter 示例来加载带有图像的窗口。执行代码时,会打开一个窗口,但窗口很小。当我调整窗口大小时,它是空的。图片未加载。

我正在使用 Pycharm。我对 IDLE 也有同样的经历。

Python 3.7.7

macOS Mojave 版本 10.14.4

tkinter 8.6 版

基于https://www.python.org/download/mac/tcltk/,我的OS版本、python版本和tkinter版本是兼容的。

这是我的代码

from tkinter import *
from tkinter import ttk

root = Tk()
label=ttk.Label(root, text="Hello TTK")
logo=PhotoImage("python_logo.gif")
label.image= logo
label.config(image= label.image)
label.pack()
root.mainloop()

图片文件和python代码存放在同一个文件夹,我的logo对象有如下信息

tkinter.PhotoImage object at 0x10146a150

【问题讨论】:

  • 试试logo=PhotoImage(file="python_logo.gif")。
  • 它适用于文件,但必须提供完整路径并指定主文件。我不确定它为什么会起作用。 logo=PhotoImage(file=file_to_open,master=root)

标签: python tkinter photoimage


【解决方案1】:

以下代码有效。

from tkinter import *
from tkinter import ttk
import os

root = Tk()
label=ttk.Label(root, text="Hello TTK")


data_folder = os.getcwd()
file_to_open=data_folder+"/python_logo.gif"

logo=PhotoImage(file=file_to_open,master=root)
label.image= logo
label.config(image= label.image)
label.pack()
root.mainloop()

【讨论】:

  • 如果是本地文件,则无需调用os.getcwd()。只需从文件名中删除前导“/”(例如:file_to_open = “python_logo.gif”)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
  • 2021-12-30
  • 2020-05-29
  • 2017-06-26
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
相关资源
最近更新 更多