Python Forum
[WxPython] [Very Basic Example Only] Hello World
Thread Rating:
  • 2 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[WxPython] [Very Basic Example Only] Hello World
#1
import wx

app = wx.App(False)

frame = wx.Frame(None, -1, 'Hello World')
frame.Show()

app.MainLoop()
Reply
#2
I would fancy that. In fact I am trying to get my head around getting wyPython to work with Python 3 ATM.
Reply
#3
I think this should have some comments describing what all the magic values are. Like, -1? lol?
Reply
#4
  • none is telling the frame there is no parent widget
  • -1 tells the frame to automatically assign a new unique id value
  • 'Hello World' is the caption that will be displayed in the frames title bar
see the frame documentation
Reply
#5
Is there any reason at all you wouldn't use -1?
Reply
#6
About the only time I don't use -1 for the id is for menu and toolbar items.
for instance my menu and toolbar has an edit the menu item would use wx.ID_EDIT.
menu_edit = wx.MenuItem(menu_edit_group, wx.ID_EDIT, 'Edit',
    'Edit the selected item')
and then the toolbar widget would be
tool_bar.AddTool(wx.ID_EDIT, 'Edit', page_edit16.GetBitmap(), wx.NullBitmap,
    wx.ITEM_NORMAL, 'Edit the selected item', 'Edit the selected item')
then an event that enables/disable the controls         
self.Bind(wx.EVT_UPDATE_UI, self.on_update_on_selection, id=wx.ID_EDIT)
which is bound to
def on_update_on_selection(self, event):
    event.Enable(self.has_selection)
In general setting your own id is not needed because you access the widget by the python object linked to them.
The id is just used internally by wxwidgets to track widgets and tie events to widgets ect.

Note: there is a default attribute that can be used which has a value of -1
>>> wx.ID_ANY
-1
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] [Very Basic Example Only] Hello World Yoriz 2 6,587 Oct-08-2016, 08:32 AM
Last Post: Yoriz

Forum Jump:

User Panel Messages

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