找回密码
 立即注册
收起左侧

Qt中如果不指明父窗口部件会出现什么问题

1
回复
7397
查看
[复制链接]
累计签到:95 天
连续签到:1 天
来源: 2015-9-19 15:47:01 显示全部楼层 |阅读模式
1Qter豆
小鸟,正在学习Qt,然后开始尝试一些代码示例,如下:
QMainWindow mainWin;
QGLWidget w(&mainWin);
mainWin.setCentralWidget(&w);
create_menu(mainWin);
mainWin.resize(640, 480);
mainWin.show();

因为示例很简单,所以没看出来指定父窗口部件的作用,
第二条语句中如果去掉(&mainWin)与不去掉结果是一样的。
但是,去掉之后感觉不够规范。
所以,来请教一下,这样不指定会发生什么样的问题。

多谢!

最佳答案

查看完整内容

QT有规则,,释放窗口的时候,先去释放其上的子控件(就是你指明了父控件的控件),这样你new出来的东西都不用自己手动释放了,,如果没这个机制,你必须要手动释放new出来的所有控件!否则就会造成内存泄露 还有一点,,,你可以试试这个代码,,, 在Main里写: QLabel * lab =new QLabel(); lab->show();//lab是新开的窗口 QLabel *lab =new Qlabel(this); lab->show();//lab显示在ui上 ...
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-19 15:47:02 显示全部楼层
QT有规则,,释放窗口的时候,先去释放其上的子控件(就是你指明了父控件的控件),这样你new出来的东西都不用自己手动释放了,,如果没这个机制,你必须要手动释放new出来的所有控件!否则就会造成内存泄露

还有一点,,,你可以试试这个代码,,,
在Main里写:
QLabel * lab =new QLabel();
lab->show();//lab是新开的窗口

QLabel *lab =new Qlabel(this);
lab->show();//lab显示在ui上
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了