old_contents: from gi.repository import Gtk, GdkPixbuf, GLib
  import cv2
  
  class View(Gtk.Window):
  	def __init__(self, title, camera, interval=200):
  		Gtk.Window.__init__(self)
  		self.set_title(title)
  		self.cam = camera
  		self.img = Gtk.Image()
  		self.add(self.img)
  		GLib.timeout_add(interval, self.update)
  
  	def update(self):
  		if self.cam.isReady():
  			frame = cv2.cvtColor(self.cam.getFrame(), cv2.COLOR_BGR2RGB)
  			self.img.set_from_pixbuf(GdkPixbuf.Pixbuf.new_from_data(frame.data, GdkPixbuf.Colorspace.RGB, False, 8, frame.shape[1], frame.shape[0], frame.strides[0], None, None))
  		else:
  			print('not ready')
  
new_contents: from gi.repository import Gtk, GdkPixbuf, GLib
  import cv2
  
  class View(Gtk.Window):
  	def __init__(self, title, camera, interval=200):
  		Gtk.Window.__init__(self)
  		self.set_title(title)
  		self.set_size_request(640, 480)
  		self.set_resizable(False)
  		self.cam = camera
  		self.img = Gtk.Image()
  		self.add(self.img)
  		GLib.timeout_add(interval, self.update)
  
  	def update(self):
  		if self.cam.isReady():
  			frame = cv2.cvtColor(self.cam.getFrame(), cv2.COLOR_BGR2RGB)
  			self.img.set_from_pixbuf(GdkPixbuf.Pixbuf.new_from_data(frame.data, GdkPixbuf.Colorspace.RGB, False, 8, frame.shape[1], frame.shape[0], frame.strides[0], None, None))
  		else:
  			print('not ready')
  
subject: Set an initial size and disallow resizing