1

「Menu5」をメニューバーの右側に揃える必要があります。それは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()

助けてください。

4

1 に答える 1

2

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())
于 2014-11-01T22:49:22.070 に答える