И вот мой первый пост, надеюсь не последний.
Я, начинающий программист самоучка, так что, пожалуйста не судите строго.
Последнее время пытаюсь программировать на Qt (C++), но к сожалению, я не нашел литературу (ну может я «летал в облаках» когда читал данную литературу, поэтому и нечего не понял), которая помогла бы написать одну простую программу. После написания которой, как я полагал, я более-менее разберусь со «слотами» и «сигналами», и после чего смогу писать то что мне надо.
Ну все по порядку. Так называемая «простая программа» заключается в том, что надо ввести информацию (к примеру число), в вести в первый слот, а при нажатии кнопки это число должно отобразится в другом слоте.
Первая книга по которой я начал учится была «QT4 Программирование GUI на С++», авторы Жасмин Бланшет и Марк Саммерфилд. В данной книге приводится куча примеров, но нет почти никаких обобщённых разъяснений, в общем я нечего не понял и начал искать другой источник информации.
Вторая книга, которую я начал разбирать была «Шлее М. — Qt4.5. Профессиональное программирование на C++ ». Эта книга показалась мне намного лучше чем предыдущая, я с самого начала ее прочтения, узнал назначение основных библиотек Qt и много других интересных вещей, но я так и не понял как мне написать ту программу. В итоге я забросил и эту книгу и начал искать следующий источник информации.
Третья книга (ну книгой ее конечно сложно назвать, скорее всего то методичка), которую я нашел была «Самарев Р. Программирование с использованием библиотеки Qt».
В общем, пользуясь данными источниками информации, а также информацией полученной из сети интернет, я, все таки написал ту программу. И примерное последовательность ее написания приведено ниже.
Для начала я создал проект с базовым классом Qdialog. После чего сделал графическую оболочку примерно так как показано на рисунке снизу.

Далее сам код:
Заголовочный файл «first.h»
Файл где реализована основная программа «first.cpp»
Ну и файл запуска приложения «main.cpp»
Данный файл в таком виде был создан приложением и остался неизменным.
Я конечно понимаю что для большинства это бесполезная информация, но может кому-то это принесет пользу.
Я, начинающий программист самоучка, так что, пожалуйста не судите строго.
Последнее время пытаюсь программировать на Qt (C++), но к сожалению, я не нашел литературу (ну может я «летал в облаках» когда читал данную литературу, поэтому и нечего не понял), которая помогла бы написать одну простую программу. После написания которой, как я полагал, я более-менее разберусь со «слотами» и «сигналами», и после чего смогу писать то что мне надо.
Ну все по порядку. Так называемая «простая программа» заключается в том, что надо ввести информацию (к примеру число), в вести в первый слот, а при нажатии кнопки это число должно отобразится в другом слоте.
Первая книга по которой я начал учится была «QT4 Программирование GUI на С++», авторы Жасмин Бланшет и Марк Саммерфилд. В данной книге приводится куча примеров, но нет почти никаких обобщённых разъяснений, в общем я нечего не понял и начал искать другой источник информации.
Вторая книга, которую я начал разбирать была «Шлее М. — Qt4.5. Профессиональное программирование на C++ ». Эта книга показалась мне намного лучше чем предыдущая, я с самого начала ее прочтения, узнал назначение основных библиотек Qt и много других интересных вещей, но я так и не понял как мне написать ту программу. В итоге я забросил и эту книгу и начал искать следующий источник информации.
Третья книга (ну книгой ее конечно сложно назвать, скорее всего то методичка), которую я нашел была «Самарев Р. Программирование с использованием библиотеки Qt».
В общем, пользуясь данными источниками информации, а также информацией полученной из сети интернет, я, все таки написал ту программу. И примерное последовательность ее написания приведено ниже.
Для начала я создал проект с базовым классом Qdialog. После чего сделал графическую оболочку примерно так как показано на рисунке снизу.

Далее сам код:
Заголовочный файл «first.h»
#ifndef FIRST_H
#define FIRST_H
#include "QDialog"
#include "ui_first.h"
class First : public QDialog, public Ui::First
{
Q_OBJECT
public:
First(QWidget *parent = 0);
double getLine(); // Получает число из lineEdit_1
void setLine ( double ); //Отображает число в lineEdit_2
//public slots:
void setQ(); // слот который выполняет функцию получение и
//отображения числа при нажатии кнопки
};
#endif
Файл где реализована основная программа «first.cpp»
#include "QtGui"
#include "first.h"
First::First(QWidget *parent) : QDialog(parent)
{
setupUi(this);
connect(OkButton, SIGNAL(clicked()), this, SLOT(setQ()));
//данная строка генерирует сигнал
//clicked(), при нажатии кнопки,
//который в свою очередь
//запускает слот setQ()
connect(pushButton, SIGNAL(clicked()), this, SLOT(close()));
//эта строка так же генерирует
//сигнал clicked(), который
//запускает слот завершения
//программы close()
}
double First::getLine()
{
double result;
QString str = lineEdit_1->text();
result = str.toDouble(); // как я понял эта строчка преобразует
//строку в число
return result;
}
void First::setLine(double num)
{
QString str;
str.setNum( num, 'g', 25); // а эта наоборот число в строку
lineEdit_2->setText( str );
}
void First::setQ()
{
double num = getLine();
setLine(num);
}
Ну и файл запуска приложения «main.cpp»
#include "QApplication"
#include "first.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
First w;
w.show();
return a.exec();
}
Данный файл в таком виде был создан приложением и остался неизменным.
Я конечно понимаю что для большинства это бесполезная информация, но может кому-то это принесет пользу.