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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: метод класса  (Прочитано 3494 раз)
StatuS74
Гость
« : Август 05, 2011, 12:23 »

подскажите как метод класса отправить в отдельный поток ? хотел использовать QtConcurrent::run() но он больше 5 аргументов не кушает а у меня у метода 7 аргументов. что можите посоветовать ??
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 05, 2011, 12:25 »

Если у метода 7 аргументов, то стоит пересмотреть архитектуру. Если не поможет, собрать аргументы в структуру и ее передавать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
StatuS74
Гость
« Ответ #2 : Август 05, 2011, 13:04 »

а что в Qt структуры вызываются не так как в С++ ??
описал стуктуру типо
struct Mystruct
{
int a
int b
}

но не могу потом обратится так как в с++
Mystruct.a
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Август 05, 2011, 13:07 »

facepalm.png

Код
C++ (Qt)
Mystruct my;
my.a = 0;
 
Так делается в с++.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
StatuS74
Гость
« Ответ #4 : Август 05, 2011, 13:51 »

а как описать в классе  структуру ? в смысле того что в программе сформировал структуру а как записать что бы он её воспринимал в целом как аргумент ?
Код:
test::full_test(data_test,file_name1,nms,ftHandle1,serial1);
data_test это структура. он говарит нужен аргумент перед запятой
ругается error: no matching function for call to 'test::full_test(MainWindow::data_test&, QString&, QString&, void*&, QString&)'
« Последнее редактирование: Август 05, 2011, 13:59 от StatuS74 » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Август 05, 2011, 14:53 »

сигнатуру ф-ии дата тест в студию
Записан
StatuS74
Гость
« Ответ #6 : Август 05, 2011, 15:02 »

структура не прокатила. буду  какой ещё есть способ запустить методов в отдельном потоке. штука в том что я 12 потоков должен создать одного метода с разными параметрами
Записан
twp
Гость
« Ответ #7 : Август 05, 2011, 15:09 »

Тогда лучше использовать не функцию а указатель на метод, который и выполняет всю работу. Тогда в QtConcurrent::run нужно будет передать ссылку на структуру и указатель на ее метод
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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