У меня есть версия Qt, встроенная в Ubuntu 11.10. И я пытаюсь использовать 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.