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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT обмен между потоками (сигналы-слоты)  (Прочитано 3845 раз)
bukum
Гость
« : Декабрь 06, 2010, 22:37 »

Вот код
http://www.easy-share.com/1913189196/cg_tribe_test.zip
Собственно что есть?
2 формы и на каждой из них элементы управления.
На первой слайдеры, на второй  label. Через слот и сигнал сделал передачу так сказать  значения...
можете в mainwindow.cpp закомментить
Код:
mutex.lock();
    double f=(double)MainWindow::ticktack + (double)ui->SliderA->value()+ (double)ui->SliderB->value();
    mutex.unlock()
;
и скомплить, должно работать.
Ну как бы надо малость не это.
Нужно ещё использовать 2  промежуточных потока.
В mainwindow.cpp выше конструктора я их объявил.
А в конструкторе   вызвал  их...
В первом из них должно  производиться вычисление
double f=(double)MainWindow::ticktack + (double)ui->SliderA->value()+ (double)ui->SliderB->value();
второй поток должен это значение получить из первого и вывести в лейбл второй формы(dialog).
Даже лучше циклы в первом потоке сделать чтобы он не заканчивался, а постоянно считал
 
Код:
   mutex.lock();
    while (true)
    {
        double f=(double)MainWindow::ticktack + (double)ui->SliderA->value()+ (double)ui->SliderB->value();
    }
    mutex.unlock();
как -нибудь так , чтобы на протяжении всей программы он считал...
ух   
Как мне правильно  через сигналы и слоты сделать связь?
Вот тут
Код:
void RenderThread::run()
{
// Пhинимает значения  из обработки 1 потока
// Вывод значения во вторую форму

}
надо принять f значение и отправить его в лейбл.
Похоже тут сигнал опять писать надо и через emit сделать.

Вообщем надо узнать как 1 поток может получить значения слайдеров и таймер, 2 поток из первого f может получить и в лейбл записать?
Я в функиях потоков писал emit, но так делать нельзя что ли... или касячу...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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