关于Qt子窗口和父窗口的问题

现有两个独立的继承自Qwidget窗口,一个是A,一个是B,现在我在A的构造函数中,实例化B,大概代码如下,B*b=newb(this);b->show();这样把a设置... 现有两个独立的继承自Qwidget 窗口,一个是A,一个是B,现在我在A的构造函数中,实例化B,大概代码如下,B* b = new b(this); b->show();这样把a设置成为b的父窗口,但这样的结果是b被嵌入到a的内部了,b不再是独立的窗口了,如果我希望b是独立的窗口该怎么做?
问题2,假如b的实例化是在和a和b都没有联系的某个地方完成的,但我还是想让a成为b的父窗口,怎么获取a的指针?假设a是整个程序的主窗口,实例化是在main.cpp里面完成的。
展开
 我来答
十丽证R
2013-07-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你可以不把a设为b的父窗口,可以在B类中添加一个A*类型的成员,然后在构造函数中将a的地址付给b,这样就可以在B类中访问a对象了
更多追问追答
追问
其实我想做的效果是在a的左下角是b窗体,b并不是点击按钮弹出的,而是一开始就存在的,b的宽度要和a的一致,b的高度是一个固定值,本来如果我知道a的指针,就可以求出a窗口的一些长度位置等属性来确定我b应该初始出现的位置,b->setgeomtry(0,a的高度-b的高度,b的宽度,b的高度)。有可能根本不需要什么子窗口父窗口之类的,本人Qt新手有些东西还不会用,望指点一下。
追答
是不需要啊。
b要一开始就存在,那么b可以是a的成员变量,在a的构造函数中初始化。
b的宽度要与a一致,可以重载a的onsize 或者 onpaint 事件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式