Я застреваю, когда пытаюсь поместить изображение в свой графический интерфейс. Основываясь на программе, над которой я работаю, я могу работать только с Python v2.7.11. У меня есть базовый графический интерфейс, который я вытащил из другого места (показан ниже, верхний код). Однако, когда я пытаюсь разместить изображение, используя аналогичный процесс, мой графический интерфейс полностью исчезает (другие функции не отображаются). Изменить: ошибка, которую я получаю: «изображение« pyimage28 »не существует, хотя я определяю свое изображение как« ошибка.gif ». Полное сообщение об ошибке показано во втором фрагменте кода; как код, так и изображение находится на рабочем столе.
Основываясь на другом вопросе на этом сайте, моя попытка показана ниже, начиная с переменная «метка».
В конечном счете, я хотел бы сделать две вещи.
- Поместите изображение в верхний левый угол графического интерфейса вместо элемента
frame
. - Дайте этому изображению свойства, чтобы я мог сохранять координаты x, y, когда я нажимаю где-нибудь на изображении, или координаты отображаются в реальном времени за пределами изображения.
.
from Tkinter import *
import ttk
root = Tk()
content = ttk.Frame(root)
#frame = ttk.Frame(content, borderwidth=5, relief="sunken", width=200, height=100)
label = ttk.Label(root)
image1 = PhotoImage(file='bug.gif')
label['image'] = image1
latlbl = ttk.Label(content, text="Latitude")
latval = ttk.Entry(content)
lonlbl = ttk.Label(content, text="Longitude")
lonval = ttk.Entry(content)
onevar = BooleanVar()
twovar = BooleanVar()
threevar = BooleanVar()
onevar.set(True)
twovar.set(False)
threevar.set(True)
one = ttk.Checkbutton(content, text="One", variable=onevar, onvalue=True)
two = ttk.Checkbutton(content, text="Two", variable=twovar, onvalue=True)
three = ttk.Checkbutton(content, text="Three", variable=threevar, onvalue=True)
ok = ttk.Button(content, text="Okay")
cancel = ttk.Button(content, text="Cancel")
content.grid(column=0, row=0)
#frame.grid(column=0, row=0, columnspan=3, rowspan=2)
label.grid(column=0, row=0, columnspan=3, rowspan=2)
latlbl.grid(column=3, row=0, columnspan=1)
latval.grid(column=4, row=0, columnspan=2)
lonlbl.grid(column=3, row=1, columnspan=1)
lonval.grid(column=4, row=1, columnspan=2)
one.grid(column=0, row=3)
two.grid(column=1, row=3)
three.grid(column=2, row=3)
ok.grid(column=3, row=3)
cancel.grid(column=4, row=3)
label.pack()
root.mainloop()
Полная ошибка кода:
runfile('C:/Users/ajpung/Desktop/untitled9.py', wdir='C:/Users/ajpung/Desktop')
Traceback (most recent call last):
File "<ipython-input-1-1596c9c787bc>", line 1, in <module>
runfile('C:/Users/ajpung/Desktop/untitled9.py', wdir='C:/Users/ajpung/Desktop')
File "C:\Users\ajpung\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile
execfile(filename, namespace)
File "C:\Users\ajpung\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Users/ajpung/Desktop/untitled9.py", line 25, in <module>
label['image'] = image1
File "C:\Users\ajpung\AppData\Local\Continuum\Anaconda2\lib\lib-tk\Tkinter.py", line 1333, in __setitem__
self.configure({key: value})
File "C:\Users\ajpung\AppData\Local\Continuum\Anaconda2\lib\lib-tk\Tkinter.py", line 1326, in configure
return self._configure('configure', cnf, kw)
File "C:\Users\ajpung\AppData\Local\Continuum\Anaconda2\lib\lib-tk\Tkinter.py", line 1317, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
TclError: image "pyimage1" doesn't exist