我已经将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。
它在我的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