python - 如何获取 tkinter 自定义 GUI 对象的数组
问题描述
我正在尝试获取自定义 tkinter 对象的数组(它是一个显示视频流的 GUI 窗口)。
我在尝试编写的代码时遇到了错误。我创建了一个函数来制作自定义对象并尝试制作这些对象的数组。
我收到以下错误:
文件“array_videoFeeds.py”,第 60 行,在 app = FeedCams(root) 文件“array_videoFeeds.py”,第 8 行,在init self.initialize() 文件“array_videoFeeds.py”,第 54 行,在初始化 self.b = self.videowindow() 文件“array_videoFeeds.py”,第 11 行,在 videowindow self.videowindow = window NameError: name 'window' is not defined
这是我的python代码:
import tkinter as Tk
import numpy as np
class FeedCams(Tk.Frame):
def __init__(self,parent):
Tk.Frame.__init__(self, parent)
self.parent = parent
self.initialize()
def videowindow(self):
self.videowindow = window
self.cap = cap
self.width = self.cap.get(cv2.CAP_PROP_FRAME_WIDTH)
self.height = self.cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
self.interval = 20 # Interval in ms to get the latest frame
# Create canvas for image
self.canvas = tk.Canvas(self.window, width=self.width, height=self.height)
# self.canvas.grid(row=0, column=0)
# Update image on canvas
self.update_image()
dynamic_windows.append(videowindow)
def update_image(self):
# Get the latest frame and convert image format
self.image = cv2.cvtColor(self.cap.read()[1], cv2.COLOR_BGR2RGB) # to RGB
self.image = Image.fromarray(self.image) # to PIL format
self.image = ImageTk.PhotoImage(self.image) # to ImageTk format
# Update image
self.canvas.create_image(0, 0, anchor=tk.NW, image=self.image)
# Repeat every 'interval' ms
self.videowindow.after(self.interval, self.update_image)
def initialize(self):
'''
Draw the GUI
'''
self.parent.title("RUN ON START TEST")
self.parent.grid_rowconfigure(1,weight=1)
self.parent.grid_columnconfigure(1,weight=1)
self.frame = Tk.Frame(self.parent)
self.frame.pack(fill=Tk.X, padx=5, pady=5)
# Create a array of videos
self.a = np.zeros((3,3))
for i in range(0,self.a.shape[0]):
for j in range(0,self.a.shape[1]):
self.b = self.videowindow()
self.b.grid(row=i, column= j)
# Start the main program here
if __name__ == "__main__":
root=Tk.Tk()
app = FeedCams(root)
root.mainloop()
我怎样才能成功地完成这项工作?
更新: 我根据对self.a = np.zeros((3,3))的回复之一更改了代码行。
问题中已更新错误。
解决方案
推荐阅读
- c# - 从 Winforms 调用 ASP.NET web 时获取 Session 变量
- keras - 如何在 Keras 中实现自适应损失?
- three.js - 同时在 MeshStandardMaterial 上同时使用凹凸贴图和法线贴图
- pyspark - 针对目标比率加权的 PySpark 排名行
- javascript - 如何将字段从 mysql db 导入到 html 中的动态填充菜单?
- c++ - 如何在 C++ 中使用枚举来专门化函数的返回类型?
- excel - 如何使工作表中的宏按钮从文件中“另存为”但不参考该旧文件?
- java - 使用 ImageIO 将 CGM 转换为 PNG 图像
- regex - scala elasticsearch使用高级rest java客户端:正则表达式和滚动
- python - Python 导入调用初始化 __init__ 的参数