pyqt menu
Python hosting: Host, run, and code Python in the cloud!

PyQt4 menus appear in the top of the window bar. A menu gives the user control over the application and is often location in the top of the window.
The QMainWindow class creates the main application window. This class has a method named menuBar() which adds the title bar.
Menus can be added to the title bar using addMenu(). Inside each menu you can add a command using the addAction method.
Related course:
PyQt4 menubar
This code will add a menu to your qt4 app:
#! /usr/bin/env python |
Posted in QT4
Leave a Reply:
I copy-paste it to Xcode - and it shows only the window and its title - the rest is empty - what can be the reason for that?
Hi, this may be an issue with QT specific to Mac OS. Unfortunately, I don't have access to a mac
If w = QWidget() and not w = QMainWindow() the option to the menu will not be available.
Thanks Joshua!
on OS X here, and this seems to mac specific.
I had a same issue on Mac and resolved by inserting menu.setNativeMenuBar(False) below of mainMenu = w.menuBar().
You forgot a word in your solution. The line should be:
mainMenu.setNativeMenuBar(False)
Thanks!
I'm trying to add some custom menu options. I assumed I could use the slots as we use them for buttons, but it seems I was wrong. What I'm trying to do is to run a sub-process. Is it possible to give an example of how to run something like that from a menu option?
What do you mean by custom menu options? If you want a separate process you could start a thread
I was slightly mishandling the slotting mechanism. I was trying to use:
menuoption.triggered.connect(somefunc(args))
where I should have used:
menuoption.triggered.connect(lambda:somefunc(args))
My apologies for the vague question. I had just started on QT, but now that I've got some 30-ish hours in it I agree that the questions wasn't really clear.
That all said, maybe the Lambda trick could be included somewhere? I'm auto-generating menu's from the init functions of my classes, and it allows me to track where a certain command is coming from(generally, by passing the class object as argument). Other problems it could solve could be a lot simpler though.