QMessageBox里面有链接,无法点击

时间:2012-04-05 12:28:44

标签: linux ubuntu qt4.7 qmessagebox

我已将textFormat设置为Qt::RichText,但该链接仍无法点击。

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 个答案:

答案 0 :(得分:2)

它正在我的Qt 4.7.4下工作,虽然我不得不修改你的HTML。最小的例子:

#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