用户调整PyQt小部件的大小

时间:2012-03-07 02:02:12

标签: python pyqt

我是PyQt和Python的新手,所以希望这个问题有道理。

我有一个QTreeView,QListView和QTextEdit以类似列的形式彼此相邻设置。作为用户,我想说我想改变其中一列的宽度。我该如何实现这一目标?如果您是Maya的用户,想象一下paneLayout,这就是我想要实现的目标。

示例:

[1][2][3]
[   1  ][2][3]
[1][   2   ][ 3 ]

...而不仅仅是调整整个窗口的大小。我希望这有道理......!

感谢任何可以提供帮助的人!

1 个答案:

答案 0 :(得分:7)

我不是Maya用户所以我不知道paneLayout是什么,但听起来你可以用QSplitter来实现你想要的东西(见herehere )。

这是一个简单的例子:

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_())