0

这是我的代码:

import sys
from PyQt4 import QtGui, QtCore 

def prova():
    print "test event"


class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)                                              

    self.resize(350, 250) # ridimensiona la finestra
        self.setWindowTitle('MainWindow')


    pause = QtGui.QAction(QtGui.QIcon("icons/pause.gif"),"Pause",self)
    pause.setStatusTip("Pause!!")
    pause.triggered.connect(prova);

    play = QtGui.QAction(QtGui.QIcon("icons/play.png"),"Play",self)
        play.setStatusTip("Start!")     

    toolbar = self.addToolBar('My toolbar')
    toolbar.addAction(pause)
    toolbar.addAction(play)
    toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)

    widget = QtGui.QWidget(self)
    hbox = QtGui.QHBoxLayout(widget)

    label = QtGui.QLabel()
    label.setText("test label") 
    hbox.addWidget(label)
    hbox.setAlignment(label,QtCore.Qt.Alignment(QtCore.Qt.AlignRight))

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

我的问题是水平框 hbox 和里面的小部件都覆盖在工具栏上。如何修复覆盖,将 hbox 放在工具栏下方?

4

1 回答 1

1

问题是您widget直接添加为子项,main而不是将其设置为中央小部件。所以而不是:

widget = QtGui.QWidget(self)

利用:

widget = QtGui.QWidget()
self.setCentralWidget(widget)
于 2012-12-05T17:22:23.720 回答