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

仅设置 paren 不会使 QDockWidget 管理子小部件。您需要致电:

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