我必须将"Menu5"与MenuBar的右侧对齐。这在Python中可能吗?(PyQt4)
示例
我在C那里找到了如何做到这一点的信息
对齐QMenuBar项目(在左侧添加一些,在右侧添加一些)
但我不知道如何在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()
请帮忙。
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())