我是PyQt和Python的新手,所以希望这个问题有道理。
我有一个QTreeView,QListView和QTextEdit以类似列的形式彼此相邻设置。作为用户,我想说我想改变其中一列的宽度。我该如何实现这一目标?如果您是Maya的用户,想象一下paneLayout,这就是我想要实现的目标。
示例:
[1][2][3]
[ 1 ][2][3]
[1][ 2 ][ 3 ]
...而不仅仅是调整整个窗口的大小。我希望这有道理......!
感谢任何可以提供帮助的人!
答案 0 :(得分:7)
我不是Maya用户所以我不知道paneLayout是什么,但听起来你可以用QSplitter来实现你想要的东西(见here或here )。
这是一个简单的例子:
from PyQt4.QtGui import QWidget, QApplication, QTreeView, QListView, QTextEdit, \
QSplitter, QHBoxLayout
import sys
class MainWindow(QWidget):
def __init__(self):
QWidget.__init__(self)
treeView = QTreeView()
listView = QListView()
textEdit = QTextEdit()
splitter = QSplitter(self)
splitter.addWidget(treeView)
splitter.addWidget(listView)
splitter.addWidget(textEdit)
layout = QHBoxLayout()
layout.addWidget(splitter)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())