PhotoImage нет такого файла или ошибка каталога - PullRequest
0 голосов
/ 26 сентября 2018

Так что в основном я пытаюсь выучить tkinter, но гаджет PhotoImage не будет работать.

Мой код:

import tkinter as tk

root = tk.Tk()
logo = tk.PhotoImage(file ="monky.gif")

def test():
    print("Hello World")

text = tk.Label(root, text = "Hello World")
text.pack()

Я также попробовал это:

logo = tk.PhotoImage(file ="/Users/MinecraftMaster/Desktop/Python/Tests/monky.gif")

Сообщение об ошибке:

Traceback (most recent call last):
  File "/Users/MinecraftMaster/Desktop/Python/Tests/Tkinter Test.py", line 4, in <module>
    logo = tk.PhotoImage(file ="monky.gif")
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 3539, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 3495, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't open "monky.gif": no such file or directory

Это изображение моего каталога:

https://imgur.com/HwJz7Eo

Редактировать: друг помог мне решить эту проблему.Если у вас есть другие проблемы, просто поместите каталог в переменную и затем вызовите его.Спасибо всем, кто пытался помочь

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

@ Omaro_IB.На рисунке ниже показан скрипт, который я использовал, и результат.monky

Вы должны убедиться, что файл monky.gif находится в том же каталоге, что и ваш файл скрипта Python, например, monky.py.

Чтобы изображение появилосьвам нужны опции image=logo и compound='top' в методе tk.Label, чтобы заставить tkinter отображать изображение и текст вместе, чтобы изображение находилось вверху.

Надеюсь, что вышеприведенное поможет.

Обновление: как проверить, что monky.gif файл находится в том же каталоге, что и файл скрипта Python.

Откройте терминал, например, нажмите Ctr + Alt + T.Если ваши изображения и файлы Python находятся в вашей Home_folder / Desktop / test_folders, то введите в терминале команду cd, чтобы перейти в вашу папку (то есть в каталог).Затем используйте команду ls, чтобы вывести список файлов в этой папке.Эти команды помогут вам увидеть, что ваши файлы Python (например, monky.py) и monky.gif находятся в одном каталоге.Если эти файлы не находятся в одной папке, изображение не появится.

$ cd Desktop/test_folder/
$ ls
monky.gif  monky.py
0 голосов
/ 26 сентября 2018

Вы не поместили виджет с фотографией в виде ярлыка, и он должен появиться.

import tkinter as tk

root = tk.Tk()
photo = tk.PhotoImage(file = "monkey.gif")
label = tk.Label(image = photo).pack()
def test():
    print("Hello World")

text = tk.Label(root, text = "Hello World")
text.pack()

Как выглядит окно
https://gyazo.com/8ce068a49c99a8a7f53f64cd5024a48f

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...