Trying to use code from WxPython GUI Toolkit - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: Trying to use code from WxPython GUI Toolkit (/thread-11174.html) |
Trying to use code from WxPython GUI Toolkit - Barrowman - Jun-26-2018 I have copied the following code: import wx class Example(wx.Frame()): def __init__(self, parent, title): super(Example,self).__init__(parent, title = title, size = (300,250)) self.InitUI() self.Centre() self.Show() def InitUI(self): panel = wx.Panel(self) hbox = WX.BoxSizer(wx.HORIZONTAL) fgs = wx.FlexiGridSizer(3,2,10,10) title = wx.StaticText(panel, label = 'Title') author = wxStaticText(panel, label = 'Name of the Author') review = wxStaticText(panel, label = 'Review') tc1 = wx.TextCtrl(panel) tc2 = wx.TextCtrl(panel) tc3 = wx.TextCtrl(panel, style = wx.TE_MULTILINE) fgs.AddMany([(title),(tc1, 1,wx.EXPAND), (author), (tc2,1,wx,EXPAND),(review,1,wx.EXPAND),(tc3,1,wx.EXPAND)]) fgs.AddGrowableRow(2,1) fgs.AddGrowableColumn(1,1) hbox.Add(fgs, proportion = 2, flag = wx.ALL|wx.EXPAND, border = 15) panel.SetSizer(hbox) app = wx.App() Example(None, title='FlexiGrid Demo') app.MainLoop()But I get the error: All of the code I have looked at so far in the book seems to be set out like this with the app = wx.App() near the end. Could anyone show me the correct syntax please? RE: Trying to use code from WxPython GUI Toolkit - nilamo - Jun-26-2018 (Jun-26-2018, 03:59 PM)Barrowman Wrote: class Example(wx.Frame()): Are you sure it's wx.Frame() , and not just wx.Frame ?
RE: Trying to use code from WxPython GUI Toolkit - Barrowman - Jun-26-2018 (Jun-26-2018, 04:32 PM)nilamo Wrote:(Jun-26-2018, 03:59 PM)Barrowman Wrote: class Example(wx.Frame()): I did think it was but I have had another look at the code in the book and you spotted the ( my ) error. Thanks for that. What I started to do about a week ago was to try to develop some code using my laptop screen and a 19" T.V connected to the hdmi port. I did get a program to work but without using classes but it seems most use a class even if it's only used once. So I was trying to adjust my original code to work within a class environment. After messing about with that for some time I thought I should start with less complex stuff until I understand it better. RE: Trying to use code from WxPython GUI Toolkit - nilamo - Jun-26-2018 wx.Frame is a class. If you don't make your own class, you'll probably end up calling it to build a frame. If you do make your own class, it'll probably use wx.Frame as a parent, which is how your custom class actually works (wx.Frame does the heavy lifting). Having parentheses in a class definition like that looks weird, because it's almost never what you want to be doing (unless it's a function that returns a dynamic class or something, but there's probably better ways to accomplish that anyway).
|