我打开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 )