我必须调整菜单5'在MenuBar的右侧。 这可能在Python中吗? (PyQt4中)
我找到了有关如何在C中执行此操作的信息
Aligning QMenuBar items (add some on left and some on right side)
但我不知道如何用Python做到这一点。
我的代码:
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
grid = QtGui.QGridLayout()
panel = QtGui.QWidget()
panel.setLayout(grid)
self.setCentralWidget(panel)
menubar1 = self.menuBar()
menubar1.addMenu('&Menu1')
menubar1.addMenu('&Menu2')
menubar1.addMenu('&Menu3')
menubar1.addMenu('&Menu4')
menubar1.addMenu('&Menu5')
self.setLayout(grid)
self.move(300, 150)
self.setWindowTitle('TestApp')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
请帮忙。
答案 0 :(得分:1)
QMenuBar有 setCornerWidget 功能,可以让你这样做。
menubar1 = self.menuBar()
menubar1.addMenu('&Menu1')
menubar1.addMenu('&Menu2')
menubar1.addMenu('&Menu3')
menubar1.addMenu('&Menu4')
self.menuBr= QtGui.QMenuBar(menubar1)
menubar1.setCornerWidget(self.menuBr, QtCore.Qt.TopRightCorner)
self.menu5 = QtGui.QMenu(self.menuBr)
self.menu5.setTitle("Menu5")
self.menuBr.addAction(self.menu5.menuAction())