wxpython popup menu event handler not working












0















So, I have a some simple frame code, note that wx.Frame is not subclassed, and the frame runs in the global scope:



import wx

app = wx.App()

def OnSettings(event):
print ("'Settings...' selected")

def OnDefaults(event):
print ("'Defaults...' selected")

def OnPrefs(event):
print ("'Preferences' selected")

def OnOpen(event):
print ("'Open...' selected")

def OnClose(event):
print ("'Close' selected")

def OnCloseAll(event):
print ("'CloseAll' selected")

def OnNew(event):
print ("'New...' selected")

def OnQuit(event):
print ("Quit selected")
top.Close(True)

def OnExit(event):
dlg = wx.MessageDialog(top, "Do you really want to close this application?", "Confirm Exit", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_OK:
top.Destroy()
top.Close(True)

def OnRightDown(event):
top.PopupMenu(rootMenu, event.GetPosition())

rootMenu = wx.Menu()
fileMenu = wx.Menu()

itemNew = wx.MenuItem(fileMenu, wx.NewId(), "New...","Create a new instance of something")
fileMenu.Bind(wx.EVT_MENU, OnNew, itemNew)
fileMenu.Append(itemNew)

itemOpen = wx.MenuItem(fileMenu, wx.NewId(), "Open...","Open an existing instance of something")
fileMenu.Bind(wx.EVT_MENU, OnOpen, itemOpen)
fileMenu.Append(itemOpen)

fileMenu.AppendSeparator()

itemClose = wx.MenuItem(fileMenu, wx.NewId(), "Close","Close whatever is open on top")
fileMenu.Bind(wx.EVT_MENU, OnClose, itemClose)
fileMenu.Append(itemClose)

itemCloseAll = wx.MenuItem(fileMenu, wx.NewId(), "Close All","Close everything")
fileMenu.Bind(wx.EVT_MENU, OnCloseAll, itemCloseAll)
fileMenu.Append(itemCloseAll)

rootMenu.AppendSubMenu(fileMenu,"Manage Data","Open, close, or create resources")

configMenu = wx.Menu()

itemSettings = wx.MenuItem(configMenu, wx.NewId(), "Settings...","Configure environmental operating parameters")
configMenu.Bind(wx.EVT_MENU, OnSettings, itemSettings)
configMenu.Append(itemSettings)

itemDefaults = wx.MenuItem(configMenu,wx.NewId(), "Defaults...","Configure default data sources, views, and processing options")
configMenu.Bind(wx.EVT_MENU, OnDefaults, itemDefaults)
configMenu.Append(itemDefaults)

itemPrefs = wx.MenuItem(configMenu,wx.NewId(), "Preferences...","Configure User Interface Cosmetics")
configMenu.Bind(wx.EVT_MENU, OnPrefs, itemPrefs)
configMenu.Append(itemPrefs)

rootMenu.AppendSubMenu(configMenu,"Manage Configuration","Configure Application for operations")

terminalMenu = wx.Menu()

itemExit = wx.MenuItem(terminalMenu,wx.NewId(), "Exit","Terminate after updating and closing anything that's open.")
terminalMenu.Bind(wx.EVT_MENU, OnExit, itemExit)
terminalMenu.Append(itemExit)

itemQuit = wx.MenuItem(terminalMenu,wx.NewId(), "Quit","Close the root window and abandon anything unsaved.")
terminalMenu.Bind(wx.EVT_MENU, OnQuit, itemQuit)
terminalMenu.Append(itemQuit)

rootMenu.AppendSubMenu(terminalMenu,"Terminate Operations","Exit Session")

top =wx.Frame(None, title="Base Window",size=((1400,875)), style=wx.CAPTION|wx.RESIZE_BORDER|wx.WS_EX_PROCESS_IDLE)
top.Bind(wx.EVT_RIGHT_DOWN, OnRightDown)
top.Centre()
top.Show()
app.SetTopWindow(top)
app.MainLoop()


The problem is, none of the event handlers for the menu actually fire. They have to be there, if I comment them out, I get the expected error, but the stubbed handlers dont output to the console and the 'Quit' event dialog (added for testing purposes) does not fire.



What the heck am I missing?



Cheers










share|improve this question























  • Your code works just fine, when I run it. (Linux, wxpython4.0.3, from the command line)

    – Rolf of Saxony
    Nov 25 '18 at 13:27











  • Heh, interesting. As it happens, I've got a lovely arch box sitting right beside the windows 10 machine. I'll see about getting this project up and running there and get back to you. Thanks for the reply BTW :)

    – James Stallings
    Nov 26 '18 at 15:14











  • As Mr Robert Burns once said “the best laid plans of mice and men often go awry”.

    – Rolf of Saxony
    Nov 26 '18 at 15:54











  • Holy crap, Rolf of Saxony, you are correct Sir. Except for the part where the quit confirmation dialog fails to honor the selected course of action, it behaves completely 'as designed'. That's quite interesting, as on windows this code is 100% fail. EDIT: Perhaps I should say on /my/ Windows it's 100% fail. Would be interesting to see if any other windows folk have issues; it might well be a purely local, environmental concern.

    – James Stallings
    Nov 26 '18 at 16:00
















0















So, I have a some simple frame code, note that wx.Frame is not subclassed, and the frame runs in the global scope:



import wx

app = wx.App()

def OnSettings(event):
print ("'Settings...' selected")

def OnDefaults(event):
print ("'Defaults...' selected")

def OnPrefs(event):
print ("'Preferences' selected")

def OnOpen(event):
print ("'Open...' selected")

def OnClose(event):
print ("'Close' selected")

def OnCloseAll(event):
print ("'CloseAll' selected")

def OnNew(event):
print ("'New...' selected")

def OnQuit(event):
print ("Quit selected")
top.Close(True)

def OnExit(event):
dlg = wx.MessageDialog(top, "Do you really want to close this application?", "Confirm Exit", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_OK:
top.Destroy()
top.Close(True)

def OnRightDown(event):
top.PopupMenu(rootMenu, event.GetPosition())

rootMenu = wx.Menu()
fileMenu = wx.Menu()

itemNew = wx.MenuItem(fileMenu, wx.NewId(), "New...","Create a new instance of something")
fileMenu.Bind(wx.EVT_MENU, OnNew, itemNew)
fileMenu.Append(itemNew)

itemOpen = wx.MenuItem(fileMenu, wx.NewId(), "Open...","Open an existing instance of something")
fileMenu.Bind(wx.EVT_MENU, OnOpen, itemOpen)
fileMenu.Append(itemOpen)

fileMenu.AppendSeparator()

itemClose = wx.MenuItem(fileMenu, wx.NewId(), "Close","Close whatever is open on top")
fileMenu.Bind(wx.EVT_MENU, OnClose, itemClose)
fileMenu.Append(itemClose)

itemCloseAll = wx.MenuItem(fileMenu, wx.NewId(), "Close All","Close everything")
fileMenu.Bind(wx.EVT_MENU, OnCloseAll, itemCloseAll)
fileMenu.Append(itemCloseAll)

rootMenu.AppendSubMenu(fileMenu,"Manage Data","Open, close, or create resources")

configMenu = wx.Menu()

itemSettings = wx.MenuItem(configMenu, wx.NewId(), "Settings...","Configure environmental operating parameters")
configMenu.Bind(wx.EVT_MENU, OnSettings, itemSettings)
configMenu.Append(itemSettings)

itemDefaults = wx.MenuItem(configMenu,wx.NewId(), "Defaults...","Configure default data sources, views, and processing options")
configMenu.Bind(wx.EVT_MENU, OnDefaults, itemDefaults)
configMenu.Append(itemDefaults)

itemPrefs = wx.MenuItem(configMenu,wx.NewId(), "Preferences...","Configure User Interface Cosmetics")
configMenu.Bind(wx.EVT_MENU, OnPrefs, itemPrefs)
configMenu.Append(itemPrefs)

rootMenu.AppendSubMenu(configMenu,"Manage Configuration","Configure Application for operations")

terminalMenu = wx.Menu()

itemExit = wx.MenuItem(terminalMenu,wx.NewId(), "Exit","Terminate after updating and closing anything that's open.")
terminalMenu.Bind(wx.EVT_MENU, OnExit, itemExit)
terminalMenu.Append(itemExit)

itemQuit = wx.MenuItem(terminalMenu,wx.NewId(), "Quit","Close the root window and abandon anything unsaved.")
terminalMenu.Bind(wx.EVT_MENU, OnQuit, itemQuit)
terminalMenu.Append(itemQuit)

rootMenu.AppendSubMenu(terminalMenu,"Terminate Operations","Exit Session")

top =wx.Frame(None, title="Base Window",size=((1400,875)), style=wx.CAPTION|wx.RESIZE_BORDER|wx.WS_EX_PROCESS_IDLE)
top.Bind(wx.EVT_RIGHT_DOWN, OnRightDown)
top.Centre()
top.Show()
app.SetTopWindow(top)
app.MainLoop()


The problem is, none of the event handlers for the menu actually fire. They have to be there, if I comment them out, I get the expected error, but the stubbed handlers dont output to the console and the 'Quit' event dialog (added for testing purposes) does not fire.



What the heck am I missing?



Cheers










share|improve this question























  • Your code works just fine, when I run it. (Linux, wxpython4.0.3, from the command line)

    – Rolf of Saxony
    Nov 25 '18 at 13:27











  • Heh, interesting. As it happens, I've got a lovely arch box sitting right beside the windows 10 machine. I'll see about getting this project up and running there and get back to you. Thanks for the reply BTW :)

    – James Stallings
    Nov 26 '18 at 15:14











  • As Mr Robert Burns once said “the best laid plans of mice and men often go awry”.

    – Rolf of Saxony
    Nov 26 '18 at 15:54











  • Holy crap, Rolf of Saxony, you are correct Sir. Except for the part where the quit confirmation dialog fails to honor the selected course of action, it behaves completely 'as designed'. That's quite interesting, as on windows this code is 100% fail. EDIT: Perhaps I should say on /my/ Windows it's 100% fail. Would be interesting to see if any other windows folk have issues; it might well be a purely local, environmental concern.

    – James Stallings
    Nov 26 '18 at 16:00














0












0








0








So, I have a some simple frame code, note that wx.Frame is not subclassed, and the frame runs in the global scope:



import wx

app = wx.App()

def OnSettings(event):
print ("'Settings...' selected")

def OnDefaults(event):
print ("'Defaults...' selected")

def OnPrefs(event):
print ("'Preferences' selected")

def OnOpen(event):
print ("'Open...' selected")

def OnClose(event):
print ("'Close' selected")

def OnCloseAll(event):
print ("'CloseAll' selected")

def OnNew(event):
print ("'New...' selected")

def OnQuit(event):
print ("Quit selected")
top.Close(True)

def OnExit(event):
dlg = wx.MessageDialog(top, "Do you really want to close this application?", "Confirm Exit", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_OK:
top.Destroy()
top.Close(True)

def OnRightDown(event):
top.PopupMenu(rootMenu, event.GetPosition())

rootMenu = wx.Menu()
fileMenu = wx.Menu()

itemNew = wx.MenuItem(fileMenu, wx.NewId(), "New...","Create a new instance of something")
fileMenu.Bind(wx.EVT_MENU, OnNew, itemNew)
fileMenu.Append(itemNew)

itemOpen = wx.MenuItem(fileMenu, wx.NewId(), "Open...","Open an existing instance of something")
fileMenu.Bind(wx.EVT_MENU, OnOpen, itemOpen)
fileMenu.Append(itemOpen)

fileMenu.AppendSeparator()

itemClose = wx.MenuItem(fileMenu, wx.NewId(), "Close","Close whatever is open on top")
fileMenu.Bind(wx.EVT_MENU, OnClose, itemClose)
fileMenu.Append(itemClose)

itemCloseAll = wx.MenuItem(fileMenu, wx.NewId(), "Close All","Close everything")
fileMenu.Bind(wx.EVT_MENU, OnCloseAll, itemCloseAll)
fileMenu.Append(itemCloseAll)

rootMenu.AppendSubMenu(fileMenu,"Manage Data","Open, close, or create resources")

configMenu = wx.Menu()

itemSettings = wx.MenuItem(configMenu, wx.NewId(), "Settings...","Configure environmental operating parameters")
configMenu.Bind(wx.EVT_MENU, OnSettings, itemSettings)
configMenu.Append(itemSettings)

itemDefaults = wx.MenuItem(configMenu,wx.NewId(), "Defaults...","Configure default data sources, views, and processing options")
configMenu.Bind(wx.EVT_MENU, OnDefaults, itemDefaults)
configMenu.Append(itemDefaults)

itemPrefs = wx.MenuItem(configMenu,wx.NewId(), "Preferences...","Configure User Interface Cosmetics")
configMenu.Bind(wx.EVT_MENU, OnPrefs, itemPrefs)
configMenu.Append(itemPrefs)

rootMenu.AppendSubMenu(configMenu,"Manage Configuration","Configure Application for operations")

terminalMenu = wx.Menu()

itemExit = wx.MenuItem(terminalMenu,wx.NewId(), "Exit","Terminate after updating and closing anything that's open.")
terminalMenu.Bind(wx.EVT_MENU, OnExit, itemExit)
terminalMenu.Append(itemExit)

itemQuit = wx.MenuItem(terminalMenu,wx.NewId(), "Quit","Close the root window and abandon anything unsaved.")
terminalMenu.Bind(wx.EVT_MENU, OnQuit, itemQuit)
terminalMenu.Append(itemQuit)

rootMenu.AppendSubMenu(terminalMenu,"Terminate Operations","Exit Session")

top =wx.Frame(None, title="Base Window",size=((1400,875)), style=wx.CAPTION|wx.RESIZE_BORDER|wx.WS_EX_PROCESS_IDLE)
top.Bind(wx.EVT_RIGHT_DOWN, OnRightDown)
top.Centre()
top.Show()
app.SetTopWindow(top)
app.MainLoop()


The problem is, none of the event handlers for the menu actually fire. They have to be there, if I comment them out, I get the expected error, but the stubbed handlers dont output to the console and the 'Quit' event dialog (added for testing purposes) does not fire.



What the heck am I missing?



Cheers










share|improve this question














So, I have a some simple frame code, note that wx.Frame is not subclassed, and the frame runs in the global scope:



import wx

app = wx.App()

def OnSettings(event):
print ("'Settings...' selected")

def OnDefaults(event):
print ("'Defaults...' selected")

def OnPrefs(event):
print ("'Preferences' selected")

def OnOpen(event):
print ("'Open...' selected")

def OnClose(event):
print ("'Close' selected")

def OnCloseAll(event):
print ("'CloseAll' selected")

def OnNew(event):
print ("'New...' selected")

def OnQuit(event):
print ("Quit selected")
top.Close(True)

def OnExit(event):
dlg = wx.MessageDialog(top, "Do you really want to close this application?", "Confirm Exit", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_OK:
top.Destroy()
top.Close(True)

def OnRightDown(event):
top.PopupMenu(rootMenu, event.GetPosition())

rootMenu = wx.Menu()
fileMenu = wx.Menu()

itemNew = wx.MenuItem(fileMenu, wx.NewId(), "New...","Create a new instance of something")
fileMenu.Bind(wx.EVT_MENU, OnNew, itemNew)
fileMenu.Append(itemNew)

itemOpen = wx.MenuItem(fileMenu, wx.NewId(), "Open...","Open an existing instance of something")
fileMenu.Bind(wx.EVT_MENU, OnOpen, itemOpen)
fileMenu.Append(itemOpen)

fileMenu.AppendSeparator()

itemClose = wx.MenuItem(fileMenu, wx.NewId(), "Close","Close whatever is open on top")
fileMenu.Bind(wx.EVT_MENU, OnClose, itemClose)
fileMenu.Append(itemClose)

itemCloseAll = wx.MenuItem(fileMenu, wx.NewId(), "Close All","Close everything")
fileMenu.Bind(wx.EVT_MENU, OnCloseAll, itemCloseAll)
fileMenu.Append(itemCloseAll)

rootMenu.AppendSubMenu(fileMenu,"Manage Data","Open, close, or create resources")

configMenu = wx.Menu()

itemSettings = wx.MenuItem(configMenu, wx.NewId(), "Settings...","Configure environmental operating parameters")
configMenu.Bind(wx.EVT_MENU, OnSettings, itemSettings)
configMenu.Append(itemSettings)

itemDefaults = wx.MenuItem(configMenu,wx.NewId(), "Defaults...","Configure default data sources, views, and processing options")
configMenu.Bind(wx.EVT_MENU, OnDefaults, itemDefaults)
configMenu.Append(itemDefaults)

itemPrefs = wx.MenuItem(configMenu,wx.NewId(), "Preferences...","Configure User Interface Cosmetics")
configMenu.Bind(wx.EVT_MENU, OnPrefs, itemPrefs)
configMenu.Append(itemPrefs)

rootMenu.AppendSubMenu(configMenu,"Manage Configuration","Configure Application for operations")

terminalMenu = wx.Menu()

itemExit = wx.MenuItem(terminalMenu,wx.NewId(), "Exit","Terminate after updating and closing anything that's open.")
terminalMenu.Bind(wx.EVT_MENU, OnExit, itemExit)
terminalMenu.Append(itemExit)

itemQuit = wx.MenuItem(terminalMenu,wx.NewId(), "Quit","Close the root window and abandon anything unsaved.")
terminalMenu.Bind(wx.EVT_MENU, OnQuit, itemQuit)
terminalMenu.Append(itemQuit)

rootMenu.AppendSubMenu(terminalMenu,"Terminate Operations","Exit Session")

top =wx.Frame(None, title="Base Window",size=((1400,875)), style=wx.CAPTION|wx.RESIZE_BORDER|wx.WS_EX_PROCESS_IDLE)
top.Bind(wx.EVT_RIGHT_DOWN, OnRightDown)
top.Centre()
top.Show()
app.SetTopWindow(top)
app.MainLoop()


The problem is, none of the event handlers for the menu actually fire. They have to be there, if I comment them out, I get the expected error, but the stubbed handlers dont output to the console and the 'Quit' event dialog (added for testing purposes) does not fire.



What the heck am I missing?



Cheers







events callback menu wxpython handler






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 24 '18 at 15:31









James StallingsJames Stallings

111




111













  • Your code works just fine, when I run it. (Linux, wxpython4.0.3, from the command line)

    – Rolf of Saxony
    Nov 25 '18 at 13:27











  • Heh, interesting. As it happens, I've got a lovely arch box sitting right beside the windows 10 machine. I'll see about getting this project up and running there and get back to you. Thanks for the reply BTW :)

    – James Stallings
    Nov 26 '18 at 15:14











  • As Mr Robert Burns once said “the best laid plans of mice and men often go awry”.

    – Rolf of Saxony
    Nov 26 '18 at 15:54











  • Holy crap, Rolf of Saxony, you are correct Sir. Except for the part where the quit confirmation dialog fails to honor the selected course of action, it behaves completely 'as designed'. That's quite interesting, as on windows this code is 100% fail. EDIT: Perhaps I should say on /my/ Windows it's 100% fail. Would be interesting to see if any other windows folk have issues; it might well be a purely local, environmental concern.

    – James Stallings
    Nov 26 '18 at 16:00



















  • Your code works just fine, when I run it. (Linux, wxpython4.0.3, from the command line)

    – Rolf of Saxony
    Nov 25 '18 at 13:27











  • Heh, interesting. As it happens, I've got a lovely arch box sitting right beside the windows 10 machine. I'll see about getting this project up and running there and get back to you. Thanks for the reply BTW :)

    – James Stallings
    Nov 26 '18 at 15:14











  • As Mr Robert Burns once said “the best laid plans of mice and men often go awry”.

    – Rolf of Saxony
    Nov 26 '18 at 15:54











  • Holy crap, Rolf of Saxony, you are correct Sir. Except for the part where the quit confirmation dialog fails to honor the selected course of action, it behaves completely 'as designed'. That's quite interesting, as on windows this code is 100% fail. EDIT: Perhaps I should say on /my/ Windows it's 100% fail. Would be interesting to see if any other windows folk have issues; it might well be a purely local, environmental concern.

    – James Stallings
    Nov 26 '18 at 16:00

















Your code works just fine, when I run it. (Linux, wxpython4.0.3, from the command line)

– Rolf of Saxony
Nov 25 '18 at 13:27





Your code works just fine, when I run it. (Linux, wxpython4.0.3, from the command line)

– Rolf of Saxony
Nov 25 '18 at 13:27













Heh, interesting. As it happens, I've got a lovely arch box sitting right beside the windows 10 machine. I'll see about getting this project up and running there and get back to you. Thanks for the reply BTW :)

– James Stallings
Nov 26 '18 at 15:14





Heh, interesting. As it happens, I've got a lovely arch box sitting right beside the windows 10 machine. I'll see about getting this project up and running there and get back to you. Thanks for the reply BTW :)

– James Stallings
Nov 26 '18 at 15:14













As Mr Robert Burns once said “the best laid plans of mice and men often go awry”.

– Rolf of Saxony
Nov 26 '18 at 15:54





As Mr Robert Burns once said “the best laid plans of mice and men often go awry”.

– Rolf of Saxony
Nov 26 '18 at 15:54













Holy crap, Rolf of Saxony, you are correct Sir. Except for the part where the quit confirmation dialog fails to honor the selected course of action, it behaves completely 'as designed'. That's quite interesting, as on windows this code is 100% fail. EDIT: Perhaps I should say on /my/ Windows it's 100% fail. Would be interesting to see if any other windows folk have issues; it might well be a purely local, environmental concern.

– James Stallings
Nov 26 '18 at 16:00





Holy crap, Rolf of Saxony, you are correct Sir. Except for the part where the quit confirmation dialog fails to honor the selected course of action, it behaves completely 'as designed'. That's quite interesting, as on windows this code is 100% fail. EDIT: Perhaps I should say on /my/ Windows it's 100% fail. Would be interesting to see if any other windows folk have issues; it might well be a purely local, environmental concern.

– James Stallings
Nov 26 '18 at 16:00












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53459667%2fwxpython-popup-menu-event-handler-not-working%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53459667%2fwxpython-popup-menu-event-handler-not-working%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

Calculate evaluation metrics using cross_val_predict sklearn

Insert data from modal to MySQL (multiple modal on website)