Хочется, чтобы при максимизации субокна, у него оставался его title, чтоб его можно было "возить" по всему area (с появлением скроллов, разумеется), и чтобы другие окна сохраняли свою геометрию.
Вот, придумал такой костыль. Вроде, работает.
dsub.h:
class DSub : public QWidget {
Q_OBJECT
public:
QMdiSubWindow *su;
public:
DSub();
public slots:
void States(Qt::WindowStates, Qt::WindowStates);
};
dsub.c:
DSub::DSub() : QWidget() // QGLWidget()
{
....
su = par->area->addSubWindow(this);
QObject::connect(su, SIGNAL(windowStateChanged(Qt::WindowStates, Qt::WindowStates)),
this, SLOT(States(Qt::WindowStates, Qt::WindowStates)));
}
//----------------
void DSub::States(Qt::WindowStates old, Qt::WindowStates ne)
{
if (ne & Qt::WindowMaximized) {
su->setWindowState(old);
su->move(0, 0);
su->resize(mw->area->width(), mw->area->height());
}
}
А нельзя ли этого добиться как-то более цивилизовано...
mw - это MainWindow