0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 47
1

Передача данных из класса в главную форму QT

06.09.2015, 23:12. Показов 2771. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. Имеется класс , который занимается вычислениями. Нужно из него отправить результаты вычислений в главную форму. Никак не могу сообразить как реализовать. Хедер и реализация класса заинклюжены в mainwindow.
Обычным коннектом напрямую не получится,т.к обьект главного окна не создавал в классе.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2015, 23:12
Ответы с готовыми решениями:

Qt передача данных из модальной формы в главную форму диалога
Не получается реализовать передачу данных из модальной формы при ее закрытие в главную форму...

Передача данных с класса на форму
Здравсвуйте у меня есть класс public static class InpuDataClass { public static...

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

Передать данные из класса в главную форму
У меня есть Form1.cs Class1.cs Class2.cs Запускается Form1 она вызывает Class1 и в этом...

7
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
07.09.2015, 02:14 2
Если не хочешь создавать объект сделай функции класса вычислений статическими , тогда объект создавать не надо обращаешься напрямую через пространство имен. Я так делал, когда объект класса в принципе был не нужен, все решалось в рамках одной конкретной функции. Глобальные переменные как-то не пошли, да и не советуют.
1
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451
07.09.2015, 07:59 3
Лучший ответ Сообщение было отмечено dronfsb как решение

Решение

dronfsb, доброго времени суток.
Дык, а что мешает:
а) возвращать результаты вычислений из функции, а-ля:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
// MyClass.cpp
int MyClass::getNewValue (int a, int b)
{
    return a * b - a;
}
 
//mainwindow.cpp
void MainWindow::function()
{
    MyClass *class = new MyClass ();
    int result = class->getNewValue(x, y);
}
б) сделать геттер для результата вычислений
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//MyClass.h
...
public:
    int getResult() const;
    void resultValue (int a, int b);
private:
    int result;
 
// MyClass.cpp
int MyClass::getResult() const
{
    return result;
}
 
void MyClass::resultValue(int a, int b)
{
    result = a * b - a;
}
 
//mainwindow.cpp
void MainWindow::function()
{
    MyClass *class = new MyClass();
    class->resultValue(x, y);
    int result = class->getResult();
}
как то так. К тому же еще зависит как выглядит из себя ваш класс.
1
77 / 77 / 30
Регистрация: 21.05.2015
Сообщений: 257
07.09.2015, 11:17 4
Воротислав, и не забыть удалить:
C++ (Qt)
1
2
3
4
5
6
7
/mainwindow.cpp
void MainWindow::function()
{
    MyClass *class = new MyClass ();
    int result = class->getNewValue(x, y);
    delete class;
}
или проще:
C++ (Qt)
1
2
3
4
5
6
/mainwindow.cpp
void MainWindow::function()
{
    MyClass class;
    int result = class.getNewValue(x, y);
}
0
63 / 63 / 15
Регистрация: 20.08.2014
Сообщений: 593
07.09.2015, 11:30 5
Цитата Сообщение от dronfsb Посмотреть сообщение
Обычным коннектом напрямую не получится,т.к объект главного окна не создавал в классе.
ну например в main их соединить коннектом никто не запрещает.
0
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451
07.09.2015, 11:34 6
sashatref, да это понятно, я не стал писать, потому что вопрос был в другом. Вообще не понятно, что из себя класс представляет. Может там через конструктор все передается, я же тоже это не писал. :-)
0
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
07.09.2015, 15:27 7
Передай в конструктор вычислятора ссылку на главную форму и в конструкторе соедини сигнал окончания расчета с чем-нибудь на форме.
1
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 47
07.09.2015, 21:24  [ТС] 8
Спасибо за ответы,проблему решил способом предложенным Воротиславом.
0
07.09.2015, 21:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2015, 21:24
Помогаю со студенческими работами здесь

Передача переменной из cpp-файла в главную форму и наоборот
Сама проблема звучит таким образом в cpp-файле есть динамический массив и мне нужно его содержимое...

Запрос пароля в окне и передача его в главную форму
Добрый вечер. В общем есть кнопка на главной форме, при нажатии на неё нужно спросить у...

Ввод данных в главную и подчиненную форму в VB
Как союственно реализуется сабж? Есть скажем 2 таблицы связанные между собой. Во второй находится...

Связать главную форму с набором данных
Не могу связать главную форму с набором данных. :wall: Помогите разобраться! Пожалуйста!


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru