C++ (Qt)class RunThreads extends QSignalEmitter implements Runnable{ //сигнал для метода load(QUrl) -> QWebView public Signal1<QUrl> signalOut3 = new Signal1<QUrl>();......public void run() { for (int i = 0; i <= _thCount; i ++) { //при получении ответа от главного потока использовать объект QWebView в методе xxx2() этого класса _form.signalOut1.connect(this, "xxx2(QWebView)", ConnectionType.QueuedConnection); //испустить сигнал, чтобы главный поток создал экземпляр QWebView this.signalOut2.emit(1); /** политика сигнала(почему-то) QueuedConnection. это означает что сигнал будет класться в очередь. допустим(возможно это qt-jambi specific. т.к. в с++ этого аргумента указывать не нужно), сигнал стоит в очереди, и еще не обработан. но код в цикле его не ждет. и при попытке использовать созданный объект (который еще не создался), краш. */ /** а вот собственно и испускание сигнала */ signalOut3.emit(this.url); } } public void xxx2(QWebView v) { this.wv = v; /** соединяем только что созданный объект с нашим сигналом */ signalOut3.connect(this.wv, "load(QUrl)"); }
C++ (Qt)
C++ (Qt)Видео посмотрел. Чего-то там дергается и прыгает, весело так прыгает