本文转载自:http://blog.csdn.net/robertkun/article/details/7802977http://hi.baidu.com/xyhouse/item/ccfbe58634aac2eae496e0a6

一、QT打开指定网站和文件夹

在Qt程序中,如果要打开指定网站或系统中的文件夹,可以使用QDesktopServices类的openUrl方法。

详见http://qt-project.org/doc/qt-5/qdesktopservices.html

比如要打开Qt开发社区,相应的代码如下:

#include <QDesktopServices>
#include <QUrl> QDesktopServices::openUrl(QUrl("http://qt-project.org/doc/qt-5/classes.html"));

要打开系统中的某个文件夹,如下:

QDesktopServices::openUrl(QUrl("file:///C:/Documents and Settings/All Users", QUrl::TolerantMode));

需要注意的是打开网址是http://,打开文件夹是file:///

在官网中关于QDesktopServices::openUrl的方法描述如下:

bool QDesktopServices::openUrl(constQUrl
& url) [static]

Opens the given url in the appropriate Web browser for the user's desktop environment, and returnstrue if successful; otherwise returnsfalse.

If the URL is a reference to a local file (i.e., the URL scheme is "file") then it will be opened with a suitable application instead of a Web browser.

The following example opens a file on the Windows file system residing on a path that contains spaces:

QDesktopServices::openUrl(QUrl("file:///C:/Documents and Settings/All Users/Desktop", QUrl::TolerantMode));

二、Qt中QUrl::addQueryItem的Bug

在开发中,用到了如下语句:

QUrl url = QString("http://localhost/test")

url.addQueryItem("test", QString("abc+bcd"));

服务器一收,发现接收到的字符串变成了"abc bcd"。顿时郁闷了。

查了半天,找不着原因,上论坛问,很久也没人回答。

终于,有一位大牛解开了疑惑:

Qt should be encoding the literal '+' as %2B on your behalf. There is a bug that has been (I think incorrectly) closed as invalid:http://bugreports.qt.nokia.com/browse/QTBUG-10146

You can work around it with this:

Qt Code:Switch viewurl.addEncodedQueryItem("another",QUrl::toPercentEncoding("abc+bcd"));

最后,推荐一下Qt的这个论坛,牛人挺多的。

http://www.qtcentre.org/content/

Qt 打开指定网站/系统文件夹的更多相关文章

  1. Qt 打开指定的文件

    最近项目用到使用本地的office打开指定的文件,记录一下代码: QString fileName = QFileDialog::getOpenFileName(this, tr("Open ...

  2. Python Locust对指定网站“一键压测”

    [本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...

  3. [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件

    原文:http://www.crifan.com/csharp_call_explorer_to_open_destinate_folder_and_select_specific_file/ C#中 ...

  4. 获取打开指定Action的所有应用包名

    获取打开指定功能的所有应用:发消息,分享等等. 如打开网页,下面代码即可查看所有的浏览器 //查找所有浏览器 private void queryPackage() { PackageManager ...

  5. 浅入浅出EmguCv(三)EmguCv打开指定视频

    打开视频的思路跟打开图片的思路是一样的,只不过视频是由一帧帧图片组成,因此,打开视频的处理程序有一个连续的获取图片并逐帧显示的处理过程.GUI同<浅入浅出EmguCv(二)EmguCv打开指定图 ...

  6. 浅入浅出EmguCv(二)EmguCv打开指定图片

    从这篇文章开始,会介绍一些通过EmguCv实现的一些简单的功能,这个内容的更新会跟我学习OpenCv的进度有关,最近在看一本关于OpenCv的书——<学习OpenCv>,主要例子还是通过这 ...

  7. QT打开ROS工作空间时遇到的问题和解决方法

    之前一直觉得不用IDE写程序看着好像我很能的样子. 其实就相当于工业时代我还钻木取火并且告诉别人你们用打火机根本不知道火被点燃的过程是怎样的. 因为这个技能并非人人都会,就可以拿出去到处臭屁 好了, ...

  8. Android -- 分享功能和打开指定程序

    打开指定程序                                                                                Intent intent ...

  9. QT打开网页 QURL

    用QT打开一个网页就是先定义一个QUrl对象url,然后利用QDesktopServices::open(url)即可. 例如: const QUrl url(http://www.baidu.com ...

随机推荐

  1. CodeForce-1196C-Robot Breakout

    原题链接 原题大意: 每个机器人分散,可以上下左右移动,但是有些机器人不能向某些方向移动 给出每个机器人的坐标,和每个方向能否正常行进 思路: 用minx, maxx, miny, maxy 记录可以 ...

  2. 洛谷P1219 八皇后

    题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 ...

  3. golang的数据类型之字符串类型

    基本案例: [root@node3 shangxuetang]# cat string.go package main import "fmt" func main() { //s ...

  4. viewport的深入调研

    1.viewport概念:viewport就是设备的屏幕上能用来显示我们的网页的那一块区域. viewport的默认值980px或1024px等,以下是浏览器的默认viewport宽度 2.css中的 ...

  5. 48.Course Schedule(课程安排)

    Level:   Medium 题目描述: There are a total of n courses you have to take, labeled from 0 to n-1. Some c ...

  6. 从vue的组件传值着手浅谈观察者模式

    首先,提到观察者模式,这不禁让我想到了MVVM,MVVM架构模式感觉用到了观察者的思想. 我们还是按照惯例,了解一下什么是观察者模式 观察者模式,类似发布订阅模式,完成这个动作首先最少得有两个不同的对 ...

  7. Spring高频率面试题

    1.Spring怎样定义类的作用域 通过bean 定义中的scope属性来定义. 2.Spring支持的几种bean的作用域 支持以下五种bean的作用域: singleton : bean在每个Sp ...

  8. Inno Setup Conpiler 使用方法

    Inno Setup Conpiler 使用方法: 首先创建一个空白的脚本文件,点击NEXT 然后会进入到这个界面,提示你详细说明一下软件的基本信息 Application name: 应用程序名称 ...

  9. 牛客挑战赛33 F 淳平的形态形成场(无向图计数,EGF,多项式求逆)

    传送门: 淳平的形态形成场 题解: 把a排序后,直接统计答案恰好为a[i]并不好做,可以统计答案>a[i]的方案数,设为\(f[i]\). 即不存在一个联通块,所有的权值都<=a[i]. ...

  10. 【dart学习】-- Dart之网络请求操作

    Flutter的请求网络有多种方式,一种是使用dart io中的HttpClient发起的请求,一种是使用dio库,另一种是使用http库,先学一下get和post,put.delete就等后面用到在 ...