QDockWidget中的QWebView拒绝调整大小

时间:2012-06-18 10:50:45

标签: python qt4 pyqt

这个坏男孩只是不想改变大小来填充停靠小部件区域。我用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 ++解决方案。

1 个答案:

答案 0 :(得分:0)

仅设置不会使QDockWidget管理子窗口小部件。你需要打电话:

helpwindow.setWidget(helpbrowser)