среда, 28 сентября 2011 г.

Тюнинг вкладок QMdiArea

Главное окно проекта должно быть многодокументным и в соответствии с современным стандартом де-факто хочется отображать дочерние окна на отдельных вкладках. Для этого в качестве центрального виджета главного окна нужно использовать QMdiArea и установить режим отображения TabbedView

from PyQt4.QtGui import QMainWindow, QMdiArea

class MainWnd(QMainWindow):
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self.setCentralWidget(QMdiArea(self))
        self.centralWidget().setViewMode(QMdiArea.TabbedView)

Все бы хорошо, но добавив одну-две вкладки начинаешь понимать, что вещь из коробки снова придется допиливать напильником: