Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: deM1d от Октябрь 27, 2010, 11:48



Название: проблема с обработкой сигнала
Отправлено: deM1d от Октябрь 27, 2010, 11:48
Привет. Вот только только, начал разбираться с qt, и по сути еще ничего не знаю... скачал книжку, и начал по пример набирать первые "хеллоу ворлды", и тут сразу же есть проблемы...

Код:
#include "qttest2.h"
#include <QtGui/QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked),&a,SLOT(quit));
button->show();
return a.exec();
}
Проблема непосредственно в обработке сигнала, в строчке:

QObject::connect(button,SIGNAL(clicked),&a,SLOT(quit));
Я вроде понял, что моя кнопка, при клике генерирует сигнал, после чего основное окно должно закрыться, но на практике это не работает...
Дело то в том, что код с книги брал, по этому я и представить себе не могу, почему не работает... хотелось бы разобраться...

И если можно еще вопрос... когда создаю проект, он автоматически инклудит <QtGUI\QApplication> , а во всех источниках, где я читал, указывается, что подключать надо <qapplication.h> , причиной является разница версий библиотек? или что-то еще? всем спасибо за помощь...

upd... поправил название темы, и код привел почище, но он все равно не работает...


Название: Re: прямо совсем новичек)
Отправлено: Пантер от Октябрь 27, 2010, 12:16
Код
C++ (Qt)
#include <QtGui/QApplication>
#include <QtGui/QPushButton>
 
int main(int argc, char **argv)
{
QApplication app1(argc, argv);
QPushButton button1("Quit",0);
button1.resize(500,30);
QObject::connect(&button1,SIGNAL(clicked ()),&app1,SLOT(quit ()));
app1.setActiveWindow(&button1);
button1.show();
return app1.exec();
}

В следующий раз давай осмысленное название топика.


Название: Re: проблема с обработкой сигнала
Отправлено: deM1d от Октябрь 27, 2010, 15:07
проблема решилась...
дело было в том после события clicked() скобки опускать нельзя, в слоте quit() тоже... по этому на событие и не реагировало...