儒雅的椅子 · Qt自定义对话框及调用方法(无师自通)· 6 天前 · |
痴情的人字拖 · 如何在Qt窗口关闭时释放内存?_如何在QT中 ...· 3 周前 · |
大力的键盘 · 创建警告对话框 - MATLAB ...· 9 月前 · |
爱看书的海豚 · 6. 对话框 — ...· 1 年前 · |
有腹肌的电影票 · MFC让对话框窗口始终在最前&MFC弹出非模 ...· 1 年前 · |
踏实的匕首 · vba快速入门03-变量与常量 - ...· 3 月前 · |
不拘小节的排球 · 我外交部驳斥美对华认知21条谬误 ...· 3 月前 · |
爱运动的警车 · Kaggle最新量化竞赛高分思路分析 - 知源笔记· 4 月前 · |
睡不着的盒饭 · OpenAI上线GPT Store ...· 5 月前 · |
析构函数 模态对话框 |
https://cloud.tencent.com/developer/information/%E5%A6%82%E4%BD%95%E5%9C%A8Qt%E7%AA%97%E5%8F%A3%E5%85%B3%E9%97%AD%E6%97%B6%E9%87%8A%E6%94%BE%E5%86%85%E5%AD%98%EF%BC%9F |
痴情的人字拖
3 周前 |
在Qt窗口关闭时释放内存,可以通过以下几个步骤来实现:
以下是一个简单的示例代码:
class MyWindow : public QWidget {
Q_OBJECT
public:
MyWindow() {
// 构造函数中初始化窗口和资源
private slots:
void releaseMemory() {
// 释放窗口中使用的资源
myImage.reset();
myPixmap.reset();
myByteArray.reset();
// 删除自定义的QObject对象
delete myObject;
// 最后删除窗口对象
this->deleteLater();
private:
QImage myImage;
QPixmap myPixmap;
QByteArray myByteArray;
QObject* myObject;
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
MyWindow* window = new MyWindow();
// 连接窗口关闭信号到槽函数
QObject::connect(window, &QWidget::destroyed, window, &MyWindow::releaseMemory);
window->show();
return app.exec();
}
在这个示例中,我们创建了一个MyWindow类,在槽函数releaseMemory()中释放了窗口中使用的资源,并删除了自定义的QObject对象和窗口对象。在主函数中,我们连接了窗口的destroyed信号到槽函数releaseMemory,以便在窗口关闭时自动释放内存。