我在CView中托管了一个QWinWidget,并希望它在调整大小时保留在指定位置。但QWinWidget总是移动到(0,0),即CView的左上角。QWinWidget的位置始终为0(零)
我想用这种方式来调试:
QWinWidget* pWidget = new QWinWidget(pCView);
pWidget->move(50, 50);
QPoint pos = pWidget->pos();
需要注意的是:在POS始终是(0,0)。
这是为什么?
我在CView中托管了一个QWinWidget,并希望它在调整大小时保留在指定位置。但QWinWidget总是移动到(0,0),即CView的左上角。QWinWidget的位置始终为0(零)
我想用这种方式来调试:
QWinWidget* pWidget = new QWinWidget(pCView);
pWidget->move(50, 50);
QPoint pos = pWidget->pos();
需要注意的是:在POS始终是(0,0)。
这是为什么?
我相信你需要创建QWinWidget
的孩子QWidget
才能定位它。但是,我从来没有使用mfc-migration工具包。
您可能需要首先显示控件,然后移动:
pWidget->show();
pWidget->move(50, 50);
这也行不通。 – 2010-05-27 09:09:36
是的,有一个孩子的QWidget。移动子QWidget不会影响QWinWidget的位置。 我发现QWinWidget没有父QWidget,而QWidget.pos()是父窗口小部件坐标中的位置,所以它始终为零。 – 2010-05-27 01:34:35