在ubuntu 14.04中使用python Qt4(pyqt)显示菜单栏(始终)
我从pyQt4开始,旨在制作一个简单的应用程序。我的操作系统是Ubuntu14.04,我正在使用pyQt4设计器,但也试图从头开始。当我创建菜单栏时,除非我最大化窗口,否则它不会出现。我已经意识到,看看其他一些用pyQt制作的软件,比如QGIS,这个问题在Ubuntu中可能很正常 问题是: 有没有办法强制应用程序显示菜单栏,即使它没有最大化? 我可以把代码写出来,但我认为这无关紧要。在ubuntu 14.04中使用python Qt4(pyqt)显示菜单栏(始终),python,python-2.7,ubuntu,pyqt,Python,Python 2.7,Ubuntu,Pyqt,我从pyQt4开始,旨在制作一个简单的应用程序。我的操作系统是Ubuntu14.04,我正在使用pyQt4设计器,但也试图从头开始。当我创建菜单栏时,除非我最大化窗口,否则它不会出现。我已经意识到,看看其他一些用pyQt制作的软件,比如QGIS,这个问题在Ubuntu中可能很正常 问题是: 有没有办法强制应用程序显示菜单栏,即使它没有最大化? 我可以把代码写出来,但我认为这无关紧要。 谢谢。这不是Qt的问题,这是Ubuntu Unity shell的一个功能,叫做全局菜单栏。从Ubuntu 14
谢谢。这不是Qt的问题,这是Ubuntu Unity shell的一个功能,叫做全局菜单栏。从Ubuntu 14.04开始 但是,如果您想让菜单在窗口顶部占据一席之地,而不考虑图形shell首选项,则应使用Qt菜单栏而不是本机菜单栏:
class Window(QtGui.QMainWindow):
def __init__(self):
QtGui.QWidget.__init__(self)
toolMenu = QtGui.QMenuBar()
toolMenu.setNativeMenuBar(False) # <--
self.setMenuBar(toolMenu)
for i in range(5):
_ = toolMenu.addAction('Action {}'.format(i))
类窗口(QtGui.QMainWindow):
定义初始化(自):
QtGui.QWidget.\uuuuu init\uuuuuuu(self)
toolMenu=QtGui.QMenuBar()
toolMenu.setNativeMenuBar(False)#试试这个
menuBar = self.menuBar()
mainMenu.setNativeMenuBar(False)
这不是Qt的问题,它是Ubuntu的UnityShell的一个功能,叫做全局菜单栏。自从Ubuntu14.04之后,它就可以关闭了:谢谢,它部分解决了我的问题,但是我看到了一些软件,即使在关闭的情况下也能保持菜单栏。有没有一种方法可以用pyQt来实现?这是可以实现的,请参见答案。