問題は次のとおりです。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ビット)に基づく