Russian Qt Forum
Ноябрь 23, 2024, 20:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Структура...  (Прочитано 3172 раз)
Pariah_War
Гость
« : Июнь 09, 2010, 02:22 »

Помогите ....
Вопрос вот в чем :
Каким образом присвоить структуру с одного класса в другой класс.....
Код:
struct recc
{
    QVector<int> num;
    QStringList k_w;
    QVector<QString> pt;
    QVector<bool> k_v;
    QVector<QString> p_v;
    QVector<bool> k_ex;
    QVector<QString> p_ex;
};
Вот эта структура (класс QMainWindow) как ее передать в другой не привязанный к этому (классу QTcpSocket) ??
Записан
hackoff
Гость
« Ответ #1 : Июнь 09, 2010, 03:31 »

создать файл myrecc.h
Код:
#ifndef MYRECC_H
#define MYRECC_H
struct recc
{
    QVector<int> num;
    QStringList k_w;
    QVector<QString> pt;
    QVector<bool> k_v;
    QVector<QString> p_v;
    QVector<bool> k_ex;
    QVector<QString> p_ex;
};
#endif // MYRECC_H
и подключить его куда надо.
Если надо передавать структуру с помощью сигнал-слотов то
Код:
qRegisterMetaType<recc>("recc")
в mainwindow добавляешь сигнал
Код:
SIGNALS:
void sendData(recc);
И наследуешься от QTCPSocket и добавляешь публичный слот. Далее connect(/*бла бла бла*/)
Если надо по сети ее передавать, то пишешь функцию в которой поэлементно серилизуешь данные. На другом конце провода производишь обратный процесс.
« Последнее редактирование: Июнь 09, 2010, 03:34 от hackoff » Записан
Sancho_s_rancho
Гость
« Ответ #2 : Июнь 09, 2010, 09:06 »

Ну регистрировать то всё излишне, т.к. это требование только для "queued signal and slot connections"
Записан
hackoff
Гость
« Ответ #3 : Июнь 09, 2010, 10:47 »

Цитировать
Если надо передавать структуру с помощью сигнал-слотов то
Код:
Код:
qRegisterMetaType<recc>("recc")
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 21.