0

この悪い子は、ドック ウィジェット領域を埋めるためにサイズを変更したくないだけです。QSizePolicy であらゆる種類のバリエーションを試しましたが、何も機能していないようです。QWebView のサイズは常に同じままです。resize() コールバックを記述する必要がありますか?

これが私が今持っているものです:

    self.helpwindow = QtGui.QDockWidget("Doc Browser")
    self.helpwindow.setAllowedAreas(QtCore.Qt.RightDockWidgetArea)
    self.helpwindow.setFeatures(QtGui.QDockWidget.DockWidgetClosable | QtGui.QDockWidget.DockWidgetFloatable)
    helpAction = self.helpwindow.toggleViewAction()
    helpAction.setText("&Help Browser")
    helpAction.setShortcut(QtGui.QKeySequence("F1"))
    helpMenu.addAction(helpAction)

    self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.helpwindow)      

    helpbrowser = QtWebKit.QWebView(self.helpwindow)
    indexpath = resource_filename(__name__,"help/index.html")
    url = QtCore.QUrl("file://" + indexpath)
    helpbrowser.load(url)
    helpbrowser.show()
    helpbrowser.updateGeometry()
    helpbrowser.update()

    helpbrowser.setMinimumWidth(400)
    helpbrowser.setMinimumHeight( self.helpwindow.height())
    sizepolicy = helpbrowser.sizePolicy()
    sizepolicy.setVerticalPolicy(QtGui.QSizePolicy.MinimumExpanding)
    sizepolicy.setHorizontalPolicy(QtGui.QSizePolicy.MinimumExpanding)

私は PyQT4 を使用していますが、C++ ソリューションは喜んで受け入れます。

4

1 に答える 1

0

親だけを設定しても、QDockWidget が子ウィジェットを管理することはありません。電話する必要があります:

helpwindow.setWidget(helpbrowser)
于 2012-06-19T11:55:45.777 に答える