
关于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里面完成的。 展开
问题2,假如b的实例化是在和a和b都没有联系的某个地方完成的,但我还是想让a成为b的父窗口,怎么获取a的指针?假设a是整个程序的主窗口,实例化是在main.cpp里面完成的。 展开
1个回答
展开全部
你可以不把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 事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询