Python Forum
Trying to use code from WxPython GUI Toolkit
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Trying to use code from WxPython GUI Toolkit
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))
	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)])
		hbox.Add(fgs, proportion = 2, flag = wx.ALL|wx.EXPAND, border = 15)

app = wx.App()
Example(None, title='FlexiGrid Demo')

But I get the error:
Traceback (most recent call last): File "", line 3, in <module> class Example(wx.Frame()): wx._core.PyNoAppError: The wx.App object must be created first!
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?
(Jun-26-2018, 03:59 PM)Barrowman Wrote: class Example(wx.Frame()):

Are you sure it's wx.Frame(), and not just wx.Frame?
(Jun-26-2018, 04:32 PM)nilamo Wrote:
(Jun-26-2018, 03:59 PM)Barrowman Wrote: class Example(wx.Frame()):

Are you sure it's wx.Frame(), and not just 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.
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).

Possibly Related Threads…
Thread Author Replies Views Last Post
  Which GUI toolkit creating tool to measure distance/area on image kboortz 1 2,332 Aug-29-2020, 11:34 AM
Last Post: Larz60+
  Which GUI toolkit to use if less resource consumption is a priority. NIHILIST 1 1,517 Aug-28-2020, 08:03 PM
Last Post: jefsummers
  [WxPython] Process finished with exit code -1073741819 (0xC0000005) Kangaroo 4 1,739 Apr-06-2020, 05:43 PM
Last Post: Kangaroo
  Best GUI toolkit to learn Vicolas 4 1,964 Jan-24-2019, 07:59 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020