Dav*_*cic 10
我不确定你在这里问什么.一切都在文档中.
默认情况下,QSplitter会动态调整其子项的大小.如果您希望QSplitter仅在调整大小操作结束时调整子节点大小,请调用setOpaqueResize(false)
这意味着如果您setOpaqueResize(false)在拆分器上设置,启动应用程序并尝试拉动拆分器以调整它所拥有的小部件的大小,它将不会实际调整小部件的大小,直到您释放拆分器.另一方面,如果设置为true它,则会在拖动分割器手柄时尝试调整小部件的大小.
如果您的自定义小部件需要很长时间才能绘制,那么关闭此功能会很有用,因为它会使调整大小非常慢.
但是要回答你的问题,属性会opaqueResize判断调整大小是否不透明,即是否会在拖动分割器时调整小部件的大小.
例:
这是一个你可以尝试的PyQt示例(我在Python中有一个例子,但它应该在C++中工作相同):
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
top = QtGui.QLabel('test', self)
bottom = QtGui.QPushButton('test', self)
splitter = QtGui.QSplitter(QtCore.Qt.Vertical)
# Try changing from False to True
splitter.setOpaqueResize(False)
splitter.addWidget(top)
splitter.addWidget(bottom)
hbox = QtGui.QHBoxLayout(self)
hbox.addWidget(splitter)
self.setLayout(hbox)
self.setGeometry(250, 200, 350, 250)
def main():
app = QtGui.QApplication([])
ex = Example()
ex.show()
app.exec_()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
希望这会让事情变得更加清晰.
| 归档时间: |
|
| 查看次数: |
1774 次 |
| 最近记录: |