Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Qt Передача локальной переменной в click() Вот какая история. На моей форме расположено много деревьев, они записаны в QList<QTreeView*>. У меня задача рядом с каждым TreeView поместить кнопочку, я её решил так (disconnectbutton это класс унаследованный от класса QPushButton просто с нужным цветом и т.д.) disconnectbutton*db; void monitorCam::create_treeview(QList<QTreeView*> tv) { for(int i=0;i<tv.count();i++) { ... https://www.cyberforum.ru/ qt/ thread1359486.html C++ Qt Шаблонные классы
Вообщем проблема такая. Если я класс полностью описываю в main.cpp то все хорошо. Но как только я их переношу в свой .h и .cpp. появляются ошибки D:\Qt\Build_Qt\build-untitled6-Desktop_Qt_5_4_0_MinGW_32bit-Debug\debug\main.o:-1: In function `main': D:\Qt\Project_Qt\untitled6\main.cpp:5: ошибка: undefined reference to `Dead<int>::Dead()' D:\Qt\Project_Qt\untitled6\main.cpp:7: ошибка:...
C++ Qt QWidget::moveEvent() внутри QMdiArea Уважаемые господа, вопрос такой: почему QWidget, помещенный внутри QMdiArea, игнорирует moveEvent()? Что сделать, чтобы при перемещении окошка SubWindow появилась бы возможность обрабатывать событие перемещения? #include <QApplication> #include <QMainWindow> #include <QMdiArea> #include <QDebug> class MainWindow : public QMainWindow { QMdiArea* mdi; QWidget* w1; public: https://www.cyberforum.ru/ qt/ thread1358972.html C++ Qt Не сравнивает строки https://www.cyberforum.ru/ qt/ thread1358967.html
Я новичек в С++ и QT. Для тренировки хотел сделать приложение, которое искало бы в текстовом файле слова, что следуют сразу за словами "имя" " " "работника". Написал свой класс очереди и с помощью ifstream считал файл. class Queue { private: struct S {QString inf; S* next;}; S* begine; S* end;
Ошибка при статической сборке проекта C++ Qt
Добрый день. Решил попробовать сделать статическую линковку приложений. Делал по инструкции отсюда https://www.cyberforum.ru/qt/thread234568.html, Qt собирал как написано здесь http://gromr1.blogspot.ru/2014/04/install-qt-4-8-5-mingw-on-windows.html. В итоге при попытке компиляции любого проекта выдает 2 ошибки: cannot find -lQtGuid collect2: ld returned 1 exit status Кто нибудь может...
C++ Qt Родительские окна в Qt-приложении https://www.cyberforum.ru/ qt/ thread1358613.html
Кто-нибудь пробовал работать с дочерними окнами в кроссплатформенных прогах сделанных на Qt? У меня отображается главное окно QWidget и все, никаких дочерних. Есть возможность как-нить выдрать текст к примеру из Edit'а? Или там все рендерится через Gdi и обрабатывается самой аппликухой?? Добавлено через 6 минут Не в том разделе тему создал =\ Добавлено через 9 минут P.S. Под...
C++ Qt Видео под Android (зеленый фон и перестает воспроизводится в бесконечном цикле) https://www.cyberforum.ru/ qt/ thread1358575.html
Доброго времени суток, коллеги! При разработке кроссплатформенного приложения столкнулся с проблемами воспроизведения видео под Android: 1) вместо видео зеленая область, кроме формата mp42, когда зеленая картинка - звук идет и под зеленым фоном воспроизводится видео - заметно что видео есть, оно декодируется, но поверх него темный зеленый квадрат. 2) спустя какое-то время видео перестает...
C++ Qt Модель-представление
Здравствуйте, пытаюсь реализовать, что-то подобное hex - редактору. Есть два TableView. В одном планируется отображать побайтово содержимое файла(в каждой ячейке), в другом его шестнадцатиричный аналог. Подскажите плиз, как лучше поступить, использовать ли для этого две модели?? Ибо с одной грабельно получается. Данные считываю через QByteArray, и одно hex число в нем занимает два...
C++ Qt Неправильная отрисовка виджета https://www.cyberforum.ru/ qt/ thread1358465.html
Собственно, неправильно отрисовывается виджет. this указывает на класс, что наследуется от QMainWindow, с ui Можете обьяснить подобное поведение? Заранее спасибо. void ToshView::showBookInfo(const QModelIndex &index) { QString tit = ui->tableView->model()->index(index.row(), 0).data().toString(); // points to title column QString pub = ui->tableView->model()->index(index.row(),...
C++ Qt Странное поведение при открытии файлов Странность вот в чём, в модель добавляется родитель(папки) и его дети(файлы). Добавляю 1 папку, самую первую - всё работает, файл открывается и считывается как надо, если добавляю др папку, то файлы из 1ой перестают открываться, т.е. срабатывает QMessageBox::critical(this, tr("Error"), tr("Could not open file")); , но инфа, хранящаяся в QFileInfo в самих элементах правильная, проверял...с чем... https://www.cyberforum.ru/ qt/ thread1358416.html
QVideoWidget В QMainWindow C++ Qt
Изучаю Qt на примере видеоплеера, написал его с использование QWidget-а, все работает, но т.к. было желание разобраться в том, как работает дизайнер и сделать плейлист QDockWidget-ом, переписал QWidget на QMainWindow, вроде как собирается без ошибок, но в процессе запуска вываливается SegmentationFault :) Создать новый проект не предлагать, я хочу разобраться как оно работает. Потому что...
C++ Qt Qtgraphicsitem исчезает при столкновению с другим Qt
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
0

О странностях QtConcurrent+QFuture+QFutureWatcher - C++ Qt - Ответ 7135933

22.01.2015, 13:24. Показов 15323. Ответов 36
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Вот такой код работает:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
QString threadFunc()
{
  return QString("This is result");
}
 
QFutureWatcher<QString> watcher; // Глобальное объявление ???
QFuture<QString> future;
 
void MainWindow::on_pushButton_clicked()
{
  connect(&watcher,SIGNAL(finished()),
          this,   SLOT(on_finished()));
 
  watcher.setFuture(future);
  future = QtConcurrent::run(threadFunc);
}
 
void MainWindow::on_finished()
{
 QString text=  future.result();
 ui->textBrowser->insertPlainText(text);
}
Первый момент: Вопрос а что делать, если мне нужно несколько потоков запустить по мере появления данных, как получить каждый результат future.result() из слота on_finished и отличить их один от другого?
Как правильно распоряжаться объектами QFuture/QFutureWatcher в плане создания/уничтожения?

Второй момент: Почему код перестает работать при замене на
C++ (Qt)
1
2
3
4
5
void MainWindow::on_finished()
{
  QString text=  watcher.future().result(); //  через watcher !!!   Приложение падает
   ui->textBrowser->insertPlainText(text);
}
Но стоит сделать еще одну правку:
C++ (Qt)
1
2
3
4
5
6
7
void MainWindow::on_pushButton_clicked()
{
  connect(&watcher,SIGNAL(finished()),
          this,   SLOT(on_finished()));
 
  watcher.setFuture(QtConcurrent::run(threadFunc));  // прямиком в watcher !!!
}
Все ок!
Я так понимаю лажа с подсчетом ссылок и правами владения?

Вернуться к обсуждению:
О странностях QtConcurrent+QFuture+QFutureWatcher C++ Qt
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2015, 13:24
Готовые ответы и решения:

QtConcurrent::run() многоразовый вызов, очередность получения QFuture::result()
Задача следующая - есть файл, большой файл. Нужно провести по нему определенные операции -...

QFutureWatcher progressTextChanged
Доброго времени суток. На основе примера делаю свой прогресс-диалог и возник вопрос, как сделать...

И еще раз о странностях ранжирования Гугла
Чтобы окончательно не запутаться в лабиринтах логики Гугла, вопрос к гуру: наш сайт...

QtConcurrent
Здравствуйте, хочу сделать сервер многопоточным, через concurrent. Делаю так void...

36
22.01.2015, 13:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2015, 13:24
Помогаю со студенческими работами здесь

QtConcurrent и bind
Доброго времени суток. Есть вот такой незамысловатый код: #include &lt;QCoreApplication&gt; #include...

Не работает QtConcurrent
void Object::loadObjModel(const std::string filename) { .... std::string line; ...

QtConcurrent::mapped
Заранее извиняюсь. Вопрос достаточно глупый, но всё же QStringList lst (QStringList ( ) &lt;&lt; &quot;one&quot;...

Использование в qtconcurrent::run() ui->
Доброго времени, форумчане! При сабже программа вылетает. Как быть? Возможно ли из лямбды послать...

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