如何在qt中创建正确的退出按钮

时间:2012-08-07 12:14:31

标签: qt user-interface button exit

我正在尝试创建一个退出按钮,正确关闭我在QT中创建的GUI。我尝试过以下方式:

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

int window_width = QApplication::desktop()->width();
int window_height = QApplication::desktop()->height();

MainWindow w;

QPushButton * quit_btn = new QPushButton;
quit_btn->setParent(w.centralWidget());
quit_btn->setGeometry(window_width-50,12,32,32);

QObject::connect(quit_btn,SIGNAL(clicked()),qApp,SLOT(quit()));

w.resize(window_width,window_height);
w.show();

return a.exec();
}

不幸的是,当我按下按钮时,调试器会出错:

Invalid address specified to RtlFreeHeap( 003E0000, 0028F950 )

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:22)

将按钮的clicked()信号连接到主窗口的close()位置。这样就可以妥善清理。