• 6810阅读
  • 6回复

[提问]有关QFileDialog的问题 [复制链接]

上一主题 下一主题
离线ldh8877
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-27
关键词: 问题QT4
1.请问如果用QFileDialog::getOpenFileName创建对话框的话,能设置对话框的外形吗?
2. QFileDialog *openFile = new QFileDialog(this, tr("Open File"), ".", "")
我这样创建了一个对话框以后,选择我要的文件,然后点“打开”按钮,我想知道我点击“打开”按钮以后后台都完成了什么操作。有将我选择的文件名传给某个参数吗?如果点击按钮是完成一个打开文件的操作,那怎么都没反应呢?
离线roywillow

只看该作者 1楼 发表于: 2011-09-27
QFileDialog一般是直接调用它的那个静态成员函数,自己声明的话大概需要用exec()来执行吧
另外这个对话框不是“打开”一个文件,只不过是让你选择一个文件,并返回这个文件的路径,真正的“打开”是你要在之后的代码中做的
设置外形我记得好像有个参数是可以设置的,什么option好像是?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 2楼 发表于: 2011-09-27
回 楼主(ldh8877) 的帖子
首先你说的1,2两项只用一个就可以了,项目1使用本地filedialog(不同的系统有不同的对话框外观),项目2是使用QT自己的filedialog那个对话框在哪个系统都一样。
filedialog只是取得一个文件名,不做其它的工作。
不知道你要什么样的外形?

发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ldh8877

只看该作者 3楼 发表于: 2011-09-28
回 1楼(roywillow) 的帖子
用方法1是获取一个文件名,但是我不知道怎么设置对话框的外形,根据手册试了下Option的选项,发现Opetion不是控制外观的。为了能控制外形,我就用方法2新建实例,但我不知道怎样获取文件名,手册里没找到获取文件名的函数。
离线dbzhang800

只看该作者 4楼 发表于: 2011-09-28
Re:回 1楼(roywillow) 的帖子
引用第3楼ldh8877于2011-09-28 09:37发表的 回 1楼(roywillow) 的帖子 :
用方法1是获取一个文件名,但是我不知道怎么设置对话框的外形,根据手册试了下Option的选项,发现Opetion不是控制外观的。为了能控制外形,我就用方法2新建实例,但我不知道怎样获取文件名,手册里没找到获取文件名的函数。

QStringList QFileDialog::selectedFiles () const
void QFileDialog::fileSelected ( const QString & file ) [signal]
...
离线ldh8877

只看该作者 5楼 发表于: 2011-09-28
回 2楼(jdwx) 的帖子
呵,1,2是指我实现的两个方法。用方法1产生的Native Dialog太大了,几乎覆盖了主窗口,但似乎又无法通过代码改变,所以我用方法2来实现。方法2能改变Dialog的大小,可是我不知道怎么获取文件名,QFileDialog里除了getOpenFileName(),还有获取文件名的函数吗?谢谢!
离线jdwx

只看该作者 6楼 发表于: 2011-09-28
回 5楼(ldh8877) 的帖子
QStringList    selectedFiles () const
全部的文件列表(多选)
单选的时候就一个文件名,dialog->selectedFiles().first();
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个