|
Cetus Group
Информационные системы и программное обеспечение
Меню
Файлы проекта
Поддержка
E-mail:
cetus@ukr.net
|
Разработка программного обеспечения средствами языка C++ и библиотеки Qt
Размещено 01.03.2006
А.Г. © Часть 2 - "Обработчик событий"С целью реализации полезного обработчика событий в проект, полученный в предыдущем примере необходимо внести небольшие изменения. При это используем то, что функция обработки нажатия на клавишу и необходимое соединение SIGNAL/SLOT были созданы в файле формы form1.ui. 1. Подобно тому, как это было выполнено в примере реализации обработчика событий PyQt опишем производный от класса формы класс (в файле form1impl.h):
#ifndef FORM1IMPL_H
#define FORM1IMPL_H
#include "form1.h"
class Form1Impl : public Form1
{
Q_OBJECT
public:
Form1Impl( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~Form1Impl();
public slots:
virtual void newSlot();
};
#endif // FORM1IMPL_H
#include "form1impl.h"
#include <qlineedit.h>
#include <qlabel.h>
Form1Impl::Form1Impl( QWidget* parent, const char* name, WFlags fl )
: Form1( parent, name, fl ) {}
Form1Impl::~Form1Impl() {}
void Form1Impl::newSlot()
{
textLabel1->setText(lineEdit1->text());
}
2. С целью активизации производного класса внесем изменения в файл "main1.cpp":
#include <qapplication.h>
#include "form1impl.h"
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
Form1Impl form;
app.setMainWidget(&form);
form.show();
return app.exec();
}
3. Добавим новые файлы (form1impl.h, form1impl.cpp) в файл проекта, для этого создаем файл "cppqt2.pro": TEMPLATE = app CONFIG += release warn_on qt thread TARGET = cppqt2 FORMS = form1.ui HEADERS = form1impl.h SOURCES = main.cpp form1impl.cpp 4. Генерируем Makefile и строим проект, выполняем программу: $QTDIR/bin/qmake cppqt2.pro make ./cppqt2 |