У меня есть конкретная цель: нарисовать дорожную сеть. Поэтому у меня есть несколько точек (x, y), и я хотел бы их подключить (используя функцию drawLine). Из-за их количества (около 2-3 миллионов) мне нужно сделать это в другом потоке, так что проблема в том, как мне это сделать? У меня есть специальная область для рисования - QLabel. Я попытался сделать это через QPixmap в основном потоке, и все в порядке, но когда я пытаюсь сделать это через сигнал/слот в другом потоке, не появляется изображение :(Как нарисовать на QLabel в другой теме
Фактически, когда я преобразовываю свои координаты в графический интерфейс GUI- координаты становятся дробными, поэтому я не знаю, как их рисовать, потому что функции drawLine имеют целочисленный аргумент: (int x1, int y1, int x2, int y2).
Вот как я создаю другой поток (мне нужно запустить только одну функцию, так что это лучший способом я думаю) QtConcurrent::run(this,&MainWindow::parseXML)
Надеется, что вы мне помочь, потому что я сошел с умом%)
P.S Я читал, что QPixmap не поддерживается в многопоточном чертеже. Так что теперь я понятия не имею, как это сделать. QPainter can be used in a thread to paint onto QImage, QPrinter, and QPicture paint devices. Painting onto QPixmaps and QWidgets is not supported. On Mac OS X the automatic progress dialog will not be displayed if you are printing from outside the GUI thread.
Очередь сигнала/слот-соединение - это путь –