
上QQ阅读APP看书,第一时间看更新
Learning about a basic GUI layout
The most basic layout consists of only a large black panel that provides enough room to display the video feed:
self.video_pnl = wx.Panel(self, size=(self.imgWidth, self.imgHeight))
self.video_pnl.SetBackgroundColour(wx.BLACK)
In order for the layout to be extendable, we add it to a vertically arranged wx.BoxSizer object:
# display the button layout beneath the video stream
self.panels_vertical = wx.BoxSizer(wx.VERTICAL)
self.panels_vertical.Add(self.video_pnl, 1, flag=wx.EXPAND | wx.TOP,
border=1)
Next, we specify an abstract method, augment_layout, for which we will not fill in any code. Instead, any user of our base class can make their own custom modifications to the basic layout:
self.augment_layout()
Then, we just need to set the minimum size of the resulting layout and center it:
self.SetMinSize((self.imgWidth, self.imgHeight))
self.SetSizer(self.panels_vertical)
self.Centre()
The next section shows you how to handle video streams.