John Weeks wrote:

> You may need to call setVisible(true). IIRC, changing window flags makes the
> widget invisible.

You appear to be right, thanks.

Now I'm just left with how to restore state correctly after starting the 
application anew. After unfloating the window with

static void unfloat(QDockWidget* that, bool floating)
{
    if (floating && that) {
        that->setTitleBarWidget(0);
        // remove unwanted flags
        Qt::WindowFlags flags = that->windowFlags() & ~(Qt::Tool|
Qt::FramelessWindowHint|Qt::X11BypassWindowManagerHint);
        // set wanted flags
        that->setWindowFlags(flags | Qt::Window);
        that->updateGeometry();
        that->setVisible(true);
    }
}

I'm stuck with a window that just shows whatever was behind it when it was 
first 
created.

Maybe I should un-unfloat the window before exiting, or simply dock it.

R.

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to