2012-04-05 5 views
2

textFormatはすでにQt::RichTextに設定されていますが、リンクはまだクリックできません。リンクが内部にあり、クリックできないQMessageBox

QMessageBox msgBox(this); 
msgBox.setWindowTitle(QApplication::applicationName() 
         + " $VER " + QApplication::applicationVersion()); 
msgBox.setTextFormat(Qt::RichText); //this is what makes the links clickable 
msgBox.setText("<a href=\"google.com\">Google</a>"); 
msgBox.setStandardButtons(QMessageBox::Ok); 
msgBox.exec(); 

任意のソリューションですか? Qt 4.7では動作しないことが確認されています。

+1

この場合、「 "Google" '? – Anonymous

+0

@Anonymousはどちらも動作しません。どうして、Linuxでxdg-openを呼び出すべきなのか分かりません。 – daisy

+0

コンソールにデバッグ出力がありますか?単純なスタンドアロンコードでも同じことが起こりますか?デスクトップ環境のファイルオープンアプリケーション( 'gvfs-open'、' kde-open'など)はありますか? – Anonymous

答えて

2

あなたのHTMLを修正する必要がありましたが、私はQt 4.7.4の下で動作しています。最小限の例:私はこの1つを使用する場合は

#include <QApplication> 
#include <QMessageBox> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QMessageBox msgBox; 
    msgBox.setTextFormat(Qt::RichText); //this is what makes the links clickable 
    msgBox.setText("<a href='http://google.com/'>Google</a>"); 
    msgBox.setStandardButtons(QMessageBox::Ok); 
    msgBox.exec(); 
    return app.exec(); 
} 

、ブラウザのタブが開いてきている、と次のメッセージが私のコンソールで終わる:

Created new window in existing browser session. 

私はあなたのmsgBox.setTextを使用している場合、私はエラーを取得する:

gvfs-open: file:///tmp/b/google.com: error opening location: Error stating file '/tmp/b/google.com': No such file or directory 
+0

あなたはLinuxですか?私はそのタグを追加することを忘れています... – daisy

+0

提供された最小限の例を試しましたか?あなたはリンクをクリックできますか?何が起こるか?コンソールに書き込まれたもの(例:「既存のブラウザセッションで新しいウィンドウを作成しました。」)? – Anonymous

関連する問題