Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
#1

С чего начать - C++ Qt

25.11.2012, 09:38. Просмотров 1983. Ответов 23
Метки нет (Все метки)

Вот такая ситуация... Есть курсавая работа, написать надо на QT, но куте я никогда не использовал... Писал всё всегда на С++, помогите начать... Напишите, какое приложение надо создавать? Или может пустой проект QT? И вообще, с чего начать то... (Документацию читаю, поэтому не надо писать, чтоб я её читал =) ) вот сама задача:

http://www.cyberforum.ru/qt/thread1075435.html


11. Информационная система «Железнодорожный вокзал». Информация: рейсы — номер поезда, дата, время отправления, пункт отправления, пункт назначения, количество свободных мест на рейс. Операции — продажа билетов на определенный рейс, сдача билетов в кассу на определенный рейс, справки.

Первым шагом курсовой работы, должно выскакивать окошко авторизации (ну мол... "введите логин и пороль"), и есл пользователь не авторизирован, то дать ему возможность зарегестрироваться. Но вот вопрос.... куда мне сохронять всех этих пользователей, а точнее... как мне всё это сделать на QT?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 09:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос С чего начать (C++ Qt):

QT с чего начать
Доброго времени суток, Господа. Вот надумываю изучать QT, никогда не...

С чего начать изучения qt?
Знаю не плохи c++ и немного winapi хочу изучить qt з чего начать подскажите...

Qt 5.6 и JavaScript с чего начать
Всем доброго времени суток! Возникла такая задача: есть кусок кода на JS, он...

С чего начать создание MULTIPLAYER
Всем привет, не подскажите с чего начать, хочу написать свой MP(MULTIPLAYER),...

SVG для чайников или с чего начать...
Добрый день братья человеки! всех с наступившим! Подскажите пожалуйста, с чего...

23
Abdula
9 / 9 / 3
Регистрация: 28.03.2012
Сообщений: 116
25.11.2012, 10:00 #2
Цитата Сообщение от Apelsin199 Посмотреть сообщение
Вот такая ситуация... Есть курсавая работа, написать надо на QT, но куте я никогда не использовал... Писал всё всегда на С++
QT это и есть писать на С++, это библиотека предоставляющая графический интерфейс как MFC VCL или wxWidget в принципе они все на одно лицо
1
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
25.11.2012, 10:09  [ТС] #3
Цитата Сообщение от Abdula Посмотреть сообщение
QT это и есть писать на С++
Но синтаксис отличается.. да и передается всё по каким то "сигналам"...
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.11.2012, 10:13 #4
Цитата Сообщение от Apelsin199 Посмотреть сообщение
Но синтаксис отличается..
нет, синтаксис тот же

Цитата Сообщение от Apelsin199 Посмотреть сообщение
да и передается всё по каким то "сигналам"...
ну вы же знаете С++, значит и в сигнал-слотах разобраться не составит труда

Не по теме:

и да, правильно писать Qt


начните с обзорных статей в сети ну и литерату почитайте
вот про сигнал-слоты например
2
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
25.11.2012, 12:33  [ТС] #5
Jupiter, вот такой вопрос... Создал окошко с кнопкой, при нажатии на кнопку, окошко закрывается, а как сделать так... чтобы при нажатии этой кнопки, открывалось новое окошко, например "Есть окошко N, на нем кнопка "авторизация", при нажатии на кнопку открывалось окошко, где расписаны функции для авторизации"...
Вот что у меня есть:

Заголовочный файл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef Q_H
#define Q_H
 
#include <QWidget>
 
class Q : public QWidget
{
    Q_OBJECT
public:
    explicit Q(QWidget *parent = 0);
    
signals:
    
public slots:
    
};
 
#endif // Q_H
Затем есть .cpp файл, в котором я описываю кнопку и первое окошко (окошко, на котором находится кнопка)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "Q.h"
#include <QWidget>
#include <QtGui>
 
Q::Q(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("N"));
    resize(300, 200);
    QPushButton *quitButton = new QPushButton (tr("authorization"), this);
    connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
 
}
И еще есть main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <QtGui>      
#include "Q.h"    
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
 
    Q q;
 
    q.show();
 
    return app.exec();
}
Первое, что нужно, это как создать окошко не с кнопкой, а с полем для записи? (туда, куда будут впмсывать логин, к примеру), а второе, это как их связать?... помгите пожалуйста горе программисту... =)
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.11.2012, 14:07 #6
Цитата Сообщение от Apelsin199 Посмотреть сообщение
а как сделать так... чтобы при нажатии этой кнопки, открывалось новое окошко
создать свой слот в котором создавать новое окошко и связать этот слот с сигналом кнопки clicked
Цитата Сообщение от Apelsin199 Посмотреть сообщение
Первое, что нужно, это как создать окошко не с кнопкой, а с полем для записи? (туда, куда будут впмсывать логин, к примеру), а второе, это как их связать?.
http://www.cyberforum.ru/qt/thread79698.html там же есть и раздел с литературой
1
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
25.11.2012, 14:54  [ТС] #7
Спасибо, буду изучать =)

Добавлено через 40 минут
А не подскажите, как именно создать не кнопку, а поле, в котором можно что то написать? Или может конкретно литературу, где это есть?
0
Чистый
Автор FAQ
2713 / 1409 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
25.11.2012, 15:29 #8
вам дали литературу, там все описано....
1
Dmitriy_M
1410 / 1293 / 124
Регистрация: 20.03.2009
Сообщений: 4,605
Записей в блоге: 11
25.11.2012, 16:06 #9
Цитата Сообщение от Apelsin199 Посмотреть сообщение
да и передается всё по каким то "сигналам"...
Открою секрет, сигнал есть не только в Qt.
0
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
25.11.2012, 16:51  [ТС] #10
Где еще?

Добавлено через 41 минуту
Цитата Сообщение от Jupiter Посмотреть сообщение
создать свой слот в котором создавать новое окошко и связать этот слот с сигналом кнопки clicked
Вот такая проблема...
Создал слот Q2, солт представляет собой обычное пустое окошко, связал сигнал со слотом, но ничего не происходит... подскажите, почему?

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <QtGui>
#include "Q.h"
#include "Q2.h"
 
int main(int argc, char *argv[])
{
    // Создаем экземпляр класса "QApplication" с названием "app"
    QApplication app(argc, argv);
 
    // Создаем экземпляр класса Q
    Q q;
   // Q2 q2;
 
    // Говорим нашему виджету показаться!!
    q.show();
    //q2.show();
 
    // Запускается обработчик событий нашего приложения
    return app.exec();
}
Q.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "Q.h"
#include <QWidget>
#include <QtGui>
 
Q::Q(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("N"));
    resize(300, 200);
    QPushButton *quitButton = new QPushButton (tr("authorization"), this);
    connect(quitButton, SIGNAL(clicked()), this, SLOT(Q2()));
 
}
Q2.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "Q2.h"
#include <QWidget>
#include <QtGui>
 
Q2 :: Q2(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("authorization"));
    resize(500, 500);
    Q2 q2;
    q2.show();
    //QPushButton *quitButton = new QPushButton (tr("authorization"), this);
   // connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
 
}

То есть.. я хочу, чтоб при нажатии кнопки, окошко N закрылось, а окошко authorization открылось...
0
Dmitriy_M
1410 / 1293 / 124
Регистрация: 20.03.2009
Сообщений: 4,605
Записей в блоге: 11
25.11.2012, 16:55 #11
Цитата Сообщение от Apelsin199 Посмотреть сообщение
Где еще?
gtk+, boost
1
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
25.11.2012, 16:59  [ТС] #12
Спасибо, я буду иметь ввиду =)
0
_SASA_
133 / 137 / 7
Регистрация: 22.08.2011
Сообщений: 484
26.11.2012, 14:41 #13
Здравствуйте! Непонятно! Задача локальная или распределенная сетевая?
... далее нужно определиться с БД, а то в файлах держать будет тяжко,
но зато легко преносить (в xml) - это опять же без внедрения на ЖД!!!
___________________________________________________________
Эх узнаю... за месяц до ... спохватились... я знаю - я сам такой ...
1
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
26.11.2012, 17:17  [ТС] #14
Цитата Сообщение от _SASA_ Посмотреть сообщение
Здравствуйте! Непонятно! Задача локальная или распределенная сетевая?
... далее нужно определиться с БД, а то в файлах держать будет тяжко,
но зато легко преносить (в xml) - это опять же без внедрения на ЖД!!!
Дело вот в чем... БД использовать нельзя, а вот что значит "Локальная" и "Распределенно сетевая"?...
0
KeyGen
384 / 291 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
27.11.2012, 02:09 #15
Можно сохранить в QSetting, думаю надо будет шифровать...
0
_SASA_
133 / 137 / 7
Регистрация: 22.08.2011
Сообщений: 484
27.11.2012, 02:09 #16
Задействован один узел или несколько?
В любом случае похоже, что xml ваш!!!
0
Dmitriy_M
1410 / 1293 / 124
Регистрация: 20.03.2009
Сообщений: 4,605
Записей в блоге: 11
27.11.2012, 10:46 #17
Цитата Сообщение от KeyGen Посмотреть сообщение
Можно сохранить в QSetting, думаю надо будет шифровать...
QSetting для этого не подходит.
Цитата Сообщение от _SASA_ Посмотреть сообщение
В любом случае похоже, что xml ваш!!!
1. В Qt есть бинарная сериализация;
2. Зачем усложнять задачу с xml, когда можно использовать структурированные текстовые/бинарные файлы?
1
Apelsin199
11 / 11 / 6
Регистрация: 04.11.2012
Сообщений: 127
27.11.2012, 13:55  [ТС] #18
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
1. В Qt есть бинарная сериализация;
2. Зачем усложнять задачу с xml, когда можно использовать структурированные текстовые/бинарные файлы?
SASA и Dmitriy_M, приятно что вы спорите... Но я начал изучать Qt сравнительно недавно, и мне тяжело сразу вкурить очень много информации... Можете помощь, по мере поступления вопросов? Возможно вопросы будут глупые и легкие, но всё же...

А последний вопрос у меня был вот такой...

Вот такая проблема...
Создал слот Q2, солт представляет собой обычное пустое окошко, связал сигнал со слотом, но ничего не происходит... подскажите, почему?

Вот, что у меня есть:
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <QtGui>
#include "Q.h"
#include "Q2.h"
 
int main(int argc, char *argv[])
{
    // Создаем экземпляр класса "QApplication" с названием "app"
    QApplication app(argc, argv);
 
    // Создаем экземпляр класса Q
    Q q;
   // Q2 q2;
 
    // Говорим нашему виджету показаться!!
    q.show();
    //q2.show();
 
    // Запускается обработчик событий нашего приложения
    return app.exec();
}
Q.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "Q.h"
#include <QWidget>
#include <QtGui>
 
Q::Q(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("N"));
    resize(300, 200);
    QPushButton *quitButton = new QPushButton (tr("authorization"), this);
    connect(quitButton, SIGNAL(clicked()), this, SLOT(Q2()));
 
}
Q2.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "Q2.h"
#include <QWidget>
#include <QtGui>
 
Q2 :: Q2(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("authorization"));
    resize(500, 500);
    Q2 q2;
    q2.show();
    //QPushButton *quitButton = new QPushButton (tr("authorization"), this);
   // connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
 
}
То есть.. я хочу, чтоб при нажатии кнопки, окошко N закрылось, а окошко authorization открылось...

Делаю я это, потому что хочу, чтоб моё приложение было похоже на "приложение"... Сейчас не идет речь о дизайне... У меня много еще вопросов, таких как, как и куда сохранять пользователей и тп. Но до них я пока не дошел... Если не сложно, помогите по мере поступления вопросов и буду ОЧЕНЬ РАД выслушать предложения, но такие... которые сможет понять user моего скромного уровня... =) Буду очень благодарен =)
0
_SASA_
133 / 137 / 7
Регистрация: 22.08.2011
Сообщений: 484
27.11.2012, 14:53 #19
Здравствуйте! Вот мой copy-paste из другой темы:
В main соединяются сигналами и слотами (public) "равнозначные" объекты,
предварительно там же созданные. Внутри же классов (с Q_OBJECT)
сигналами и слотами (private) соедняются сигналы и локальные слоты класса.
Нужно инклудить только *.h файлы и работать последовательно с созданными объектами =
создал+навешал+соединил! Ваш случай,вроде?!
... в Q создается свой сигнал, в Q2 - pablic свой слот, и в main, после их создания их
соединяете Qobject::connect(Q,SIGNAL(сигнал),Q2,SLOT(слот))... можно ещё и
свои переменные передавать... Но подумайте - нужно ли делать их "равноценными" (про окна),
может лучше в одном объявить второе, когда нужно через new создать, поработать и закрыть...
Удачи!!!
2
Xantrax
19 / 19 / 2
Регистрация: 28.11.2012
Сообщений: 328
29.11.2012, 12:41 #20
вам дали литературу, там все описано....
Ага, дали... Только дали ту что нужно купить... Да и руководство для новичков с созданем ui интерфейса, а если создавать динамически весь интерфейс? Понятно, что можно в принципе и догадаться, но ведь новички могут и не догадаться...
0
29.11.2012, 12:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 12:41
Привет! Вот еще темы с решениями:

С чего начать?
подскажите, пожалуйста, с чего начать, чтобы научиться разрабатывать?

Как начать работать с Qt
http://www.cyberforum.ru/qt/thread79698.html Прочитал эту страничку, но не...

Стоит ли начать изучать QT ?
Не так давно я стал изучать плюсы прошел основы, теперь пришел графическому...

С какой книги начать изучение Qt?
С какой книги начать изучение Qt? На руководство новичка, все книги...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru