Несколько экземпляров QWebView (qt jambi) - PullRequest
2 голосов
/ 04 декабря 2009

Добрый день, Как я могу использовать QWebView с методом load () в потоках? Я создал QWebView в основном (!) Потоке, но я не могу использовать load () с QWebView (для этого использовали сигналы / слоты из других потоков):

QWebView wv = new QWebView (); //Хорошо QUrl url = новый QUrl ("http://somesite.com/"); // нормально wv.load (URL); // ОШИБКА: QObject: Невозможно создать дочерние элементы для родителя, который находится в другом потоке.

В с ++ это работает. Пожалуйста, помогите мне!

p.s. извините за мой английский

1 Ответ

1 голос
/ 30 ноября 2010

Я знаю, что это старый вопрос, но для всех, кто интересуется, проблема заключается в создании детей в другой ветке. Чтобы вернуться к теме-владельцу, выполните что-то вроде следующего:

public void loadURL(String url) {  
    QApplication.invokeLater(new LoadURL(url));
}

private class LoadURL implements Runnable {
    private String url;
    public LoadURL(String url) {
        this.url = url;
    }
    public void run() {
        QNetworkRequest nreq = new QNetworkRequest(new QUrl(this.url));
        load(nreq);
    }
}
...