Пользователь изменяет размер виджетов PyQt - PullRequest
2 голосов
/ 07 марта 2012

Я очень плохо знаком с PyQt и Python, так что, надеюсь, этот вопрос имеет смысл.

У меня QTreeView, QListView и QTextEdit установлены рядом друг с другом в виде столбца. Как пользователь, допустим, я хотел бы изменить ширину одного из столбцов. Как мне добиться этого? Если вы пользователь Maya, представьте себе paneLayout, это то, чего я пытаюсь достичь.

Пример:

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

... а не просто изменение размера всего окна. Я надеюсь, что это имеет смысл ...!

Спасибо всем, кто может помочь!

1 Ответ

7 голосов
/ 07 марта 2012

Я не пользователь Maya, поэтому я не знаю, что такое paneLayout, но похоже, что то, что вы ищете, может быть достигнуто с помощью QSplitter (см. здесь или здесь ).

Вот краткий пример:

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_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...