当前位置: 代码迷 >> QT开发 >> 麻烦大家看看,为什么运行到QDesktopServices:openUrl(url);并没有打开网页?该怎么处理
  详细解决方案

麻烦大家看看,为什么运行到QDesktopServices:openUrl(url);并没有打开网页?该怎么处理

热度:94   发布时间:2016-04-25 04:58:11.0
麻烦大家看看,为什么运行到QDesktopServices::openUrl(url);并没有打开网页?
我打开ie浏览器然后保存页面:Google.htm到如下路径:D:\QTexercise\OnlineHelp\doc

然后代码如下:
C/C++ code
#include "onlinehelp.h"OnlineHelp::OnlineHelp(QWidget *parent, Qt::WFlags flags)    : QMainWindow(parent, flags){    ui.setupUi(this);    createActions();    createToolBars();}OnlineHelp::~OnlineHelp(){}void OnlineHelp::createActions(){    HelpAction = new QAction(tr("&Help..."), this);    connect(HelpAction, SIGNAL(triggered()), this, SLOT(help()));}void OnlineHelp::createToolBars(){    HelpToolBar = addToolBar(tr("&Help"));    HelpToolBar->addAction(HelpAction);}void OnlineHelp::help(){    QUrl url(directoryof("doc").absoluteFilePath("Google.htm"));     url.setScheme("file");    QDesktopServices::openUrl(url);}QDir OnlineHelp::directoryof(const QString &subdir){    QDir dir(QApplication::applicationDirPath());        #if defined(Q_OS_WIN)    if (dir.dirName().toLower() == "debug"        || dir.dirName().toLower() == "release")                    dir.cdUp();    #elif defined(Q_OS_MAC)    if (dir.dirName() == "MacOS")     {        dir.cdUp();        dir.cdUp();        dir.cdUp();    }    #endif    dir.cd(subdir);    return dir;}


为什么运行到QDesktopServices::openUrl(url);并没有启动浏览器并且打开Google.htm这个网页?

非常感谢



------解决方案--------------------
没有遇到过给问题,帮你顶
------解决方案--------------------
QUrl QUrl::fromLocalFile ( const QString & localFile )