Что я пытаюсь сделать:
Hello. Я создаю графический интерфейс, который содержит камеру и вид карты. Во-первых, я хотел бы управлять графическим интерфейсом с помощью «F1» и «F2».
Проблема:
Моя проблема в том, что я не могу удалить / удалить ярлык, когда нажимаю F2. Нет проблем с нажатием клавиши F1. Я пытался использовать packname.pack (), затем packname.forget_pack (), но ничего не произошло.
Кроме того, когда я пытаюсь использовать packname.destroy (), рамка останавливается, но экран все еще там. (В графическом интерфейсе)
Как я могу решить эту проблему?
Код:
import sys
if sys.version_info[0] == 2:
import Tkinter as tk
else:
import tkinter as tk
from PIL import ImageTk
import cv2
from PIL import Image
class UI(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.maxsize(width = 500, height = 500)
self.minsize(width = 500 , height = 500)
self.cap = cv2.VideoCapture(1)
self.geometry("500x500")
self.title('Test1')
self.camera_view = tk.Frame(self)
self.camera_on= self.bind("<F1>", self.camera)
self.bind("<F2>", self.remove_camera)
def camera(self, event=None):
_, frame = self.cap.read()
frame = cv2.flip(frame, 1)
frame = cv2.resize(frame, (0, 0), fx=0.75, fy=0.65)
cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
img = Image.fromarray(cv2image)
imgtk = ImageTk.PhotoImage(image=img)
self.camera_label = tk.Label(image=imgtk)
self.camera_label.imgtk = imgtk
self.camera_label.after(10, self.camera)
self.camera_label.place(x=10, y=100)
def remove_camera(self, event=None):
self.camera_label.place_forget()
UI().mainloop()