• 7608阅读
  • 17回复

用QFileDialog 怎样默认打开我的电脑? [复制链接]

上一主题 下一主题
离线robertkun
 

只看楼主 倒序阅读 楼主  发表于: 2010-01-18
代码如下:

  1.   QString s = QFileDialog::getOpenFileName(
  2.             this,
  3.             "Choose a file",
  4.             "d:\temp",        
  5.             "Images (*.png *.xpm *.jpg *.bmp)");


不知道怎样默认的打开路径为我的电脑?
请高手指点。。。多谢~
                                              简单的生活使人快乐!
离线benbenmajia

只看该作者 1楼 发表于: 2010-01-18
这个函数里面好像没有说默认路径吧...没看到啊
安然.....
离线benbenmajia

只看该作者 2楼 发表于: 2010-01-18
呃,我想明白你问的意思了....求解
安然.....
离线snailbing

只看该作者 3楼 发表于: 2010-01-18
好像是不支持“我的电脑”这种的默认路径值的吧。
离线土匪老黑
只看该作者 4楼 发表于: 2010-01-18
"d:\temp",       改成"/"试试
离线robertkun

只看该作者 5楼 发表于: 2010-01-18
引用第4楼土匪老黑于2010-01-18 11:57发表的  :
"d:temp",       改成"/"试试


谢谢土匪老黑,这个可以打开当前盘符的根目录,

如果要打开 我“我的电脑“的话, 可能需要通过注册表里的键值打开。。

这个偶不懂唉 , 还请高手多多帮忙。。
[ 此帖被robertkun在2010-01-18 12:34重新编辑 ]
                                              简单的生活使人快乐!
离线benbenmajia

只看该作者 6楼 发表于: 2010-01-18
查一下,搜索一下,百度一下
安然.....
离线土匪老黑
只看该作者 7楼 发表于: 2010-01-18
对,这个如果没人用过就可能不知道,google下吧,帮顶了
离线water_wf

只看该作者 8楼 发表于: 2010-01-18
这个问题一般QFileDialog::setDirectory("My Computer")即可,不知道在不同语言的系统上怎么设置
离线benbenmajia

只看该作者 9楼 发表于: 2010-01-18
仰望楼上
安然.....
离线yangfanxing
只看该作者 10楼 发表于: 2010-01-18
引用第9楼benbenmajia于2010-01-18 15:42发表的  :
仰望楼上


我远远地仰望。。。
PHPWind好恶心。。。不想看这种界面。。。
离线yangfanxing
只看该作者 11楼 发表于: 2010-01-18
"d:\\temp"或
"d:/temp"
我的电脑在打开的页面里选一下就好了吧~~~这个特殊要求;估计不能满足;
你看在“我的电脑”里放文件都不行;;;
折腾下setDirectory();试试;
或者这个得用注册表级别的知识解决了吧~~~
PHPWind好恶心。。。不想看这种界面。。。
离线sbtree
只看该作者 12楼 发表于: 2010-01-18
要用操作系统API函数SHGetSpecialFolderPath,传递#define CSIDL_DRIVES                    0x0011参数
windows 7 + VC++2008 + Qt4.5.2
离线yangfanxing
只看该作者 13楼 发表于: 2010-01-18
引用第12楼sbtree于2010-01-18 21:50发表的  :
要用操作系统API函数SHGetSpecialFolderPath,传递#define CSIDL_DRIVES                    0x0011参数


惊现传说哥;;;

期待LZ一试~
PHPWind好恶心。。。不想看这种界面。。。
离线robertkun

只看该作者 14楼 发表于: 2010-01-19
引用第8楼water_wf于2010-01-18 15:31发表的  :
这个问题一般QFileDialog::setDirectory("My Computer")即可,不知道在不同语言的系统上怎么设置


water_wf,问一个问题,
我是这样写的,在windows下测试,
可是并没有打开 我的电脑,请问为什么呢?

    QFileDialog f;
    f.setDirectory("My Computer");

    QString fn = f.getOpenFileName(this, tr("Open File..."),
        QString(), tr("Text-Files (*.txt *.TXT)"));
                                              简单的生活使人快乐!
离线yangfanxing
只看该作者 15楼 发表于: 2010-01-19
引用第14楼robertkun于2010-01-19 10:22发表的  :
water_wf,问一个问题,
我是这样写的,在windows下测试,
可是并没有打开 我的电脑,请问为什么呢?
.......



啊???这个你真信啊哥?就算是这个形式,也不会是这个样子的~~~

要不要我写

QFileDialog f;
    f.setDirectory(tr"C盘");啊???
I服了U了~

。。。
研究研究12L的方法吧~~~
PHPWind好恶心。。。不想看这种界面。。。
离线water_wf

只看该作者 16楼 发表于: 2010-01-19
在英文系统上这个办法是可行的,12楼说的一样,这些都是shel的系统变量可以,
楼上的的QFileDialog f;
    f.setDirectory(tr"C盘");啊???
改改f.setDirectory("C:");就可以
QDir::drives()可以返回所有的盘符,一般形式就是C:\,D:,E:等等。
离线hehui

只看该作者 17楼 发表于: 2010-03-03
M$专用的东西,楼主放弃吧,要不就用M$ 的API
快速回复
限100 字节
 
上一个 下一个