[Qt-interest] How to prevent automatic loading of QDockWidget?
J-P Nurmi
jpnurmi at gmail.com
Thu Feb 25 19:24:01 CET 2010
On Thu, Feb 25, 2010 at 8:12 PM, Konstantin Tokarev <annulen at yandex.ru> wrote:
>
>
> 25.02.10, 20:01, "J-P Nurmi" <jpnurmi at gmail.com>:
>
>> On Thu, Feb 25, 2010 at 7:57 PM, Konstantin Tokarev wrote:
>> > My application has optional dockwidget, which is automatically shown when it's needed. How to prevent it's loading on application startup?
>> > --
>> > Regards,
>> > Konstantin
>> Just hide() the dock widget.
>> --
>
> I've tried hide() and close(), latter works fine if I want to hide dock during runtime. But whatever I do, dock appears after application load if it was opened when application is closed
>
Double check your code. Something triggers the dock to become visible.
Explicitly hidden child widgets won't become automatically visible
when their parent is shown. This works fine for me:
#include <QtGui>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QMainWindow window;
QDockWidget* dockWidget = new QDockWidget(&window);
dockWidget->setWindowTitle("Hello Dock");
window.addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
window.menuBar()->addAction(dockWidget->toggleViewAction());
dockWidget->hide(); // <---
window.show();
return app.exec();
}
--
J-P Nurmi
More information about the Qt-interest-old
mailing list