• 10271阅读
  • 5回复

QT4,按钮关闭窗口求救 [复制链接]

上一主题 下一主题
离线vs9841
 

只看楼主 倒序阅读 楼主  发表于: 2008-10-29
— 本帖被 XChinux 执行加亮操作(2008-11-02) —
#include <Qpushbutton>
#include <QApplication>
#include <Qwidget>
#include <QTextCodec>
#include <QVBoxLayout>
#include <QFont>
#include <QLabel>
class myclass : public QWidget
{
public:
  myclass();
  ~myclass();
private:
  QPushButton * pl;
  QLabel * LB;
};
myclass::myclass()
{
  this->setGeometry(100,150,300,200);
  pl = new QPushButton(QObject::tr("我来了"),this);
  pl->setGeometry(20,20,160,70);
  pl->setFont(QFont("Courier",19,QFont::Light,true));
  connect(pl,SIGNAL(clicked()),this,SLOT(quit())); //这里本来是想关闭窗口的.可是关闭不了.
  LB = new QLabel(this);
  LB->setText(QObject::tr("我们都是中\n办"));
  LB->setGeometry(20,90,100,100);
}
myclass::~myclass()
{
  delete pl;
  delete LB;
}
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
    myclass * windows = new myclass;
    windows->show();
    return a.exec();
}


求高手们帮忙,这个安钮如何才能关闭窗口.
离线rockyluo

只看该作者 1楼 发表于: 2008-10-29
要是整个程序退出,则将this改为qApp!
connect(pl,SIGNAL(clicked()), qApp ,SLOT(quit( )));
单纯窗口退出,则用close( )
connect(pl,SIGNAL(clicked()), this ,SLOT( close( ) ));
我用的Qt3,Qt3是这样的,Qt4也应该差不多!
                                                                                                              我们要团结一心,秉承Linux的开源精神,共享Qt问题的解决方法!
离线guoyun_he

只看该作者 2楼 发表于: 2008-10-29
connect(pl,SIGNAL(clicked()),qApp,SLOT(quit()));
离线vs9841

只看该作者 3楼 发表于: 2008-10-30
问题解决.原来是大小写不正确,妈妈的折腾了我好长时间.正确的写法是qApp,我用QApp怪不得通不了.谢大家了
离线wd007

只看该作者 4楼 发表于: 2009-01-11
1楼是正解
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线long5337

只看该作者 5楼 发表于: 2009-01-18
支持下!!!
快速回复
限100 字节
 
上一个 下一个