这是我的问题:我创建了一个 QDockWidget 并在其中放置了一个 QGraphicsView,虽然它正在浮动,但所有内容都正确显示,但如果将它停靠在某个地方,我的内容的起始 X 和 Y 位于 QDockWidget 的标题栏上。显然,它应该在:
tilesetWindow = new QDockWidget(tr("Tileset"), this);
tilesetWindow->setMinimumSize(256,256);
tilesetWindow->setFloating(true);
connect(tilesetWindow, SIGNAL(visibilityChanged(bool)), this, SLOT(triggeredTileset()));
tilesetViewer = new QGraphicsView(tilesetWindow);
tilesetViewer->resize(256,256);
tilesetViewer->show();
一张图片来说明这一点:http: //img86.xooimage.com/files/d/7/6/problem-391a96a.png
我尝试将 QGraphicsView 放入容器中,然后放入 QDockWidget 中,但结果与上述相同。这是我为 QDockWidget 编写代码的唯一地方。
我怎样才能让它在停靠时从正确的位置开始?
编辑:
我尝试了一个新的 QtProject 并制作了一个带有 QTextBrowser 的 QDockWidget 并且有同样的错误:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDockWidget *dock = new QDockWidget(this, 0);
dock->setFloating(true);
QTextBrowser *t = new QTextBrowser(dock);
t->show();
}
我错过了一些我认为...
Qt Creator 2.4.1 基于 Qt 4.7.4(32 位)