2012-08-23 65 views
3

你會如何使用QWebView控件與Java(QtJambi)轉換在C以下簡單的QT例如:轉換簡單QWebView例如到Java

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 
    QWebView view; 
    view.load(QUrl("http://www.trolltech.com/")); 
    view.show(); 
    return app.exec(); 
} 

(位於:http://doc.qt.nokia.com/qq/qq26-webplugin.html#qtwebkitbasics

我可能是錯誤但我想我記得去年在Qt-Jambi javadoc中有這樣一個例子,但是我不能再找到它了,當我去到http://qt-jambi.org/documentation時它說「新建的Apidoc(原文如此)還沒有工作」

+0

Java的API文檔不建了,因爲Qt和使用「qdoc3」工具產生他們有它刪除了Java/javadoc支持。我認爲這是因爲管理員(當時)諾基亞不再支持Java,並且沒有時間或興趣來維護它以及C++業務需求。但是,一旦任務優先級成爲積壓列表的頂端,就有一種策略可以創建一個替代機制來生成它們。 –

回答

2

Qt Jambi中的API是類似於原來的Qt API,所以樣本可以直接翻譯。

所以C++版本

QWebView view; 
view.load(QUrl("http://www.trolltech.com/")); 

轉換爲Java中的下列

QWebView view = new QWebView(); 
view.load(new QUrl("http://www.trolltech.com/")); 

的應用程序(創建主窗口,運行的應用程序)的其餘部分可在hello world tutorial被發現。

我沒有在我家的MAC工作環境,但這個樣本應該工作:

import com.trolltech.qt.core.*; 
import com.trolltech.qt.gui.*; 
import com.trolltech.qt.webkit.*; 

public class SO12093494 extends QMainWindow { 

    private QWebView webView; 

    public SO12093494() { this(null); } 
    public SO12093494(QWidget parent) { 
     super(parent); 

     webView = new QWebView(); 
     setCentralWidget(webView); 
    } 

    public void loadUrl(String url) { 
     webView.load(new QUrl(url)); 
    } 

    public static void main(String[] args) { 
     QApplication.initialize(args); 

     SO12093494 app = new SO12093494(); 
     app.loadUrl("http://www.trolltech.com"); 
     app.show(); 

     QApplication.exec(); 
    } 
}