[solved] QDockWidget

Alles rund um die Programmierung mit Qt
Antworten
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

[solved] QDockWidget

Beitrag von AndiLatte »

Hallo,

ich würde gerne ein Widget als DockWindow zu- bzw. wegschalten.
So wie hier ---> http://doc.trolltech.com/4.3/mainwindow ... dgets.html

Was muss ich machen, damit der unten angefügte code auch kompiliert?
QDockWidget kennt kein "addWidget". Wie umgehe ich das?

Danke für jede Hilfe!

Code: Alles auswählen

void MainWindow::createDockWindows()
{
    QDockWidget *dock = new QDockWidget(tr("UseRCam TopView"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    customerList = new QListWidget(dock);
customerList->addWidget(Video);
//     customerList->addItems(QStringList()
//             << "John Doe, Harmony Enterprises, 12 Lakeside, Ambleton"
//             << "Jane Doe, Memorabilia, 23 Watersedge, Beaton"
//             << "Tammy Shea, Tiblanka, 38 Sea Views, Carlton"
//             << "Tim Sheen, Caraba Gifts, 48 Ocean Way, Deal"
//             << "Sol Harvey, Chicos Coffee, 53 New Springs, Eccleston"
//             << "Sally Hobart, Tiroli Tea, 67 Long River, Fedula");
    dock->setWidget(customerList);
    addDockWidget(Qt::RightDockWidgetArea, dock);
    viewMenu->addAction(dock->toggleViewAction());
}
Zuletzt geändert von AndiLatte am 27. Mai 2009 15:58, insgesamt 1-mal geändert.
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Re: QDockWidget

Beitrag von AndiLatte »

folgender Code Kompiliert - bringt aber einen Seq-fault mit sich !!

Code: Alles auswählen

void MainWindow::createDockWindows()
{
    QDockWidget *dock = new QDockWidget(tr("UseRCam TopView"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

QWidget *dockWidget = new QWidget;
QHBoxLayout* dockLayout = new QHBoxLayout;
dockLayout->addWidget(Video);
dock->setWidget(dockWidget);

    addDockWidget(Qt::RightDockWidgetArea, dock);
    viewMenu->addAction(dock->toggleViewAction());
}
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Re: QDockWidget

Beitrag von AndiLatte »

foldender code kompiliert und lässt sich starten - zeigt aber das Widget "Video" nicht an sonderneigt nur den Rahmen des DockWidgets an.

Code: Alles auswählen

Video = new ViewVideo;

    QDockWidget *dock = new QDockWidget(tr("UseRCam TopView"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

QWidget *dockWidget = new QWidget;
QHBoxLayout* dockLayout = new QHBoxLayout;
dockLayout->addWidget(Video);
dock->setWidget(dockWidget);

    addDockWidget(Qt::RightDockWidgetArea, dock);
    viewMenu->addAction(dock->toggleViewAction());
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Re: QDockWidget

Beitrag von AndiLatte »

Lösung :roll:

Code: Alles auswählen

Video = new ViewVideo;

    QDockWidget *dock = new QDockWidget(tr("UseRCam TopView"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
dock->setWidget(Video);
    addDockWidget(Qt::RightDockWidgetArea, dock);
    viewMenu->addAction(dock->toggleViewAction());
Antworten