3

I've already set the textFormat to Qt::RichText, but the link is still un-clickable.

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();

Any solutions? It's confirmed not working with Qt 4.7.

cbuchart
  • 10,847
  • 9
  • 53
  • 93
daisy
  • 22,498
  • 29
  • 129
  • 265

1 Answers1

5

It is working under mine Qt 4.7.4, albeit I had to modify your HTML. Minimal example:

#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();
}

If I use this one, the browser tab is getting opened, and following message ends up in my console:

Created new window in existing browser session.

If I use your msgBox.setText I get error:

gvfs-open: file:///tmp/b/google.com: error opening location: Error stating file '/tmp/b/google.com': No such file or directory
Anonymous
  • 18,162
  • 2
  • 41
  • 64
  • Have you tried the provided minimal example? Can you click the link? Does anything happen? Anything written to the console (e.g. `Created new window in existing browser session.`)? – Anonymous Apr 05 '12 at 13:09