首先做一个假设:我们要实现一个程序,程序中有一个MainWindow,MainWindow中有一个DockWidget。在点DockWidget的关闭按钮的时候,需要在MainWindow中进行一些处理,然后释放DockWidget。何以实现?
我想到的是:在DockWidget类中声明一个信号,并把这个信号连接到MainWindow类中的处理函数removeDockWidget(), 最后重载closeEvent函数,在closeEvent中发送这个信号。
而在removeDockWidget()中,我是这样写的:
void MainWindow::removeDockWidget()
{
/******************************
* some function deal with other things
* ……
……
……
*****************************/
&nb
槽函数中释放类空间的问题与解决

本文介绍了在使用Qt编程时,如何在槽函数中正确地释放一个类所占有的空间。通过创建信号与槽的连接,当DockWidget关闭时触发 MainWindow 的 removeDockWidget 函数。在该函数中,避免直接使用 `delete`,而是采用 `QObject::deleteLater()` 来延迟删除对象,以防止在事件处理过程中删除对象导致的错误。
最低0.47元/天 解锁文章
5779

被折叠的 条评论
为什么被折叠?



