2011-01-06 5 views
1

J'essaie juste d'écrire un code pour ouvrir le fichier en cliquant sur un lien qui est affiché dans QTextBrowser. Mais le fichier ne s'ouvre pas à la place, il s'affiche dans QTextBrowser lui-même. Voici mon codeOuvrir le fichier à partir de QTextBrowser

void MainWindow::openTextEdit() 
{ 
    QTextBrowser *p = new QTextBrowser(); 
    p->show(); 

    p->append("<a href = \"/home/winbros/Test.cpp\"> Link </a>"); 
    p->append("<a href = \"/home/winbros/Test.doc\"> Link </a>"); 
    p->append("<a href = \"/home/winbros/Test.xls\"> Link </a>"); 
    p->setOpenExternalLinks(true); 
} 

J'utilise le créateur QT. Les gars s'il vous plaît laissez-moi savoir pour utiliser l'ancre cliquée dans ce sens.

Répondre

1

Il semble que le signal anchorClicked pourrait vous être utile. Il contient l'URL du lien cliqué en tant que QUrl.

Modifier: OP demande un exemple d'utilisation. Je n'ai pas le temps pour cela en ce moment, mais voici à peu près ce que je ferais:

  1. Laissez la classe qui a besoin d'ouvrir un fichier ont une fente foo qui prend un const QUrl&.
  2. foo pouvez utiliser QUrl::toLocalFile pour construire un QFile et l'ouvrir.
  3. Connectez votre QTextBrowser à foo.
+0

Si possible, pourriez-vous s'il vous plaît me donner un morceau de code sur la façon de l'utiliser dans ce contexte? J'ai traversé le lien donné par vous, mais je ne peux rien y faire. – Allwyn

Questions connexes