• 6391阅读
  • 2回复

请问一下在关闭一个大型的QT程序(几兆)前应该做哪些工作? [复制链接]

上一主题 下一主题
离线kummar
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-29
— 本帖被 XChinux 执行加亮操作(2010-09-02) —
有这样了个QT应用程序,主程序界面是一个QMainWindow,在它里面实例化了很多动作QAction,五个菜单QMenu,六个工具栏QToolBar(动态显示或隐藏),还实例化了好几个其它的窗口对话框,有些是窗口或对话框是没有指定父对象的。那么当我要关闭这个主程序时,应该做好哪些工作,具体怎样做,才能让整个程序无错误的退出,特别是当这个比较大的程序移到开发板后,这个现象更明显,即使退出无错误应用程序的主界面是关闭了,但这个进程还要过一段时间才能退出来,有时还退不出来直接死机了。
总之,两个问题:
1,怎样做好一个大型QT应用程序的退出前的清理工作,比方说没有指定父对象的指针,一般应该怎样管理
2,在起动一个在型QT程序时可以加QSplashScreen,那么在退出一个大型QT应用程序时,有没有类似QSplashScreen的东西,或是能不能显示出退出进度。
请高手们给点你们的宝贵经验,谢谢
离线XChinux

只看该作者 1楼 发表于: 2010-08-29
这没有什么说的吧,依次清理掉。不要内存泄露。
写C/C++程序一定要养成这样的好习惯,自己创建的,自己负责清理掉。Qt中有自动清理机制,从QObject派生出来的指定了parent的对象,在其parent析构时会自动析构其子对象。只要把这个搞清楚,哪些该自己清理,哪些该由Qt去清理,要明明白白。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线kummar
只看该作者 2楼 发表于: 2010-08-30
回 1楼(XChinux) 的帖子
恩,谢谢总版主指点,小弟经验不足,只能慢慢积累了
快速回复
限100 字节
 
上一个 下一个