как вставить изображение в tkinter класс python3 - PullRequest
0 голосов
/ 04 января 2019

У меня проблема здесь. Я хочу, чтобы окно, содержащее изображение, появлялось и скрывалось, когда я нажимаю клавишу, например, когда я нажимаю Ctrl + Alt + X , покажет изображение, затем Ctrl + Alt + Z картинка скрыть.

Поэтому я сделал простой скрипт для показа картинки с помощью tkinter в python3:

import tkinter as Tk
from PIL import ImageTk, Image

window = Tk.Tk()
window.title("Spell")
window.configure(background='grey')
#window.geometry("300x300")

path = "spell.jpg"
img = ImageTk.PhotoImage(Image.open(path))

panel = Tk.Label(window, image = img)

panel.pack(side = "bottom", fill = "both", expand = "yes")

window.mainloop()

И это работает. Теперь мне нужно найти способ, как заставить картинку spell.jpg показывать и скрывать при нажатии клавиши быстрого доступа, как я упоминал выше.

Затем я получил этот скрипт для показа / скрытия окна tkinter с помощью ярлыка:

class MyApp(object):

    def __init__(self, parent):

        self.root = parent
        self.root.title("Spell")
        self.root.configure(background='grey')
        self.frame = Tk.Frame(parent)
        self.frame.pack()
        self.editor = Tk.Text(self.frame)                
        self.editor
        self.editor.pack()
        self.editor.config(font="Courier 12")
        self.editor.focus_set()

        keyboard.add_hotkey('ctrl+alt+x', self.show)
        keyboard.add_hotkey('ctrl+alt+z', self.hide)

    def show(self):
        self.root.update()
        self.root.deiconify()

    def hide(self):
        self.root.update()
        self.root.withdraw()

if __name__ == "__main__":
    root = Tk.Tk()
    root.geometry("800x600")
    app = MyApp(root)
    root.mainloop()

Вопрос в том, как добавить картинку spell.jpg из первого скрипта в class MyApp(object): во втором сценарии, чтобы tkinter мог показать / скрыть spell.jpg с помощью сочетаний клавиш.

...