【发布时间】:2012-03-22 12:18:24
【问题描述】:
我有 ubuntu 11.10 中内置的 Qt 版本。并且正在尝试使用实际上无法停靠的QDockWidget(基本上,我只想要一个浮动的窗口。我不想只是让视图成为顶级视图,因为那样我就会有操作系统窗口栏在那里,这是我不想要的,如果我要隐藏它,那么窗口将无法移动)。
所以,我基本上新建了一个 Qt Gui 项目,除了 mainwindow.cpp 文件,我不更改任何文件,我将其更改为:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDockWidget>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDockWidget *dockWidget = new QDockWidget(this);
// Without window management and attached to mainwindow (central widget)
dockWidget->setFloating( true );
// resize by frame only - not positional moveable
dockWidget->setFeatures( QDockWidget::DockWidgetMovable );
// never dock in mainwindow
dockWidget->setAllowedAreas( Qt::NoDockWidgetArea );
// title
dockWidget->setWindowTitle( "Dock Widget" );
// add contents. etc etc....
dockWidget->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
问题是当我去移动小部件时,整个程序崩溃了。我想知道我是否做错了什么,或者是否只是 qt 中的一个错误。
【问题讨论】:
-
我得到了相同的结果,但我找不到任何说明它为什么不起作用的文档。这可能是一个错误。
标签: c++ qt qt4 qdockwidget