我在qt中心论坛上问了我的问题,但还没有答案 希望有人会对此有所了解。
我在其中有一个带有QWinWidget的Mfc对话框。 当我调整对话框的大小时,我想要自动使用QWinWidget 重新调整大小并重新定位。这是在mfc对话框中创建QWinWidget的代码:
int MyCDialog::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate( lpCreateStruct ) == -1 )
return -1;
win=new QWinWidget( this->m_hWnd );
MyFrame * dialog=new MyFrame(win);
win->move(0,0);
win->show();
return 0;
}
MyFrame派生自QFrame对象。生成QFrame对象 与Qt设计师。 QFrame已分配布局,假设对QFrame子窗口小部件进行几何管理。
以下是拖动对话框大小调整边框时执行的代码:
void MyCDailog::OnSize(UINT nType,int cx,int cy)
{
QObjectList list=win->children();
QFrame* p=(QFrame*) list.at(0);
p->resize(QSize(cx,cy));
}
调整对话框大小时我从OnSize调用框架对象的resize方法, 在我调整框架后,我期待着 ,框架应根据调整大小并重新存放其子窗口小部件 他们的大小提示和规模政策。但至少没有发生这种情况 不是应该的。我做错了什么?