• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 关于QFileDialog,需要这个请进 复制链接 | 浏览器收藏 | 打印
创新改变世界,技术驱动中国
级别: 论坛版主
UID: 7752
精华: 2
发帖: 55
金钱: 570 两
威望: 276 点
贡献值: 20 点
综合积分: 150 分
注册时间: 2009-07-27
最后登录: 2010-03-30
楼主  发表于: 2009-12-18 08:24

 关于QFileDialog,需要这个请进

之前看到有人问这个QFileDialog,因为在QTE中不支持QFileDialog,所以不能使用,其实这个问题并不大,自己改写一个就是了,我找了一个老外写的,然后改写了一个QFileDialog,但是外观尺寸我没有改,如有需要可以下载,并希望给点宝贵意见,谢谢
附件: filedialog.rar (4 K) 下载次数:261
走自己的路,让别人去说!
级别: 侠客
UID: 11808
精华: 0
发帖: 86
金钱: 450 两
威望: 90 点
贡献值: 0 点
综合积分: 172 分
注册时间: 2009-12-21
最后登录: 2014-04-10
1楼  发表于: 2010-03-04 21:48
谢谢版主写的FileDialog文件,调整显示尺寸,用了后,出现如下问题:
    1.Qtopia下点击自己设计的“打开”按钮后,可以弹出对话框,选择文件,但是当按下确定按钮后,再一次弹出此对话框,在QPixmap上显示的图像正常,不知道是何原因?感觉是"打开"按钮被点击了两下·
    2.我在程序用到了QMessageBox进行提示错误信息,当此对话框弹出后,点击“确定”后,同样出现以上现象···请问版主这是何原因?请赐教
对知识的追求永无止境
走自己的路,让别人去说!
级别: 侠客
UID: 11808
精华: 0
发帖: 86
金钱: 450 两
威望: 90 点
贡献值: 0 点
综合积分: 172 分
注册时间: 2009-12-21
最后登录: 2014-04-10
2楼  发表于: 2010-03-06 13:47
版主没有上班吗?
对知识的追求永无止境
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
3楼  发表于: 2010-03-06 16:10
引用第2楼381762390于2010-03-06 13:47发表的  :
版主没有上班吗?

上班也不一定要回帖的!
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
走自己的路,让别人去说!
级别: 侠客
UID: 11808
精华: 0
发帖: 86
金钱: 450 两
威望: 90 点
贡献值: 0 点
综合积分: 172 分
注册时间: 2009-12-21
最后登录: 2014-04-10
4楼  发表于: 2010-03-06 20:19
eddylau兄,何处此言,小弟是在困惑之中,只是想得到问题的原因啊
对知识的追求永无止境
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
5楼  发表于: 2010-03-07 11:36
引用第4楼381762390于2010-03-06 20:19发表的  :
eddylau兄,何处此言,小弟是在困惑之中,只是想得到问题的原因啊

no body in this forum is responsible to answer anybody's question!

everybody joint the discussion of this forum is at their own interest only, not a must!

please don't designate anyboby to answer your question!

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
走自己的路,让别人去说!
级别: 侠客
UID: 11808
精华: 0
发帖: 86
金钱: 450 两
威望: 90 点
贡献值: 0 点
综合积分: 172 分
注册时间: 2009-12-21
最后登录: 2014-04-10
6楼  发表于: 2010-03-07 13:16
引用第5楼eddylau于2010-03-07 11:36发表的  :

no body in this forum is responsible to answer anybody's question!

everybody joint the discussion of this forum is at their own interest only, not a must!

.......

eddylau兄,领教了,有些情况是必须靠自己去解决哈,
对知识的追求永无止境
级别: 侠客
UID: 5706
精华: 0
发帖: 119
金钱: 780 两
威望: 406 点
贡献值: 0 点
综合积分: 238 分
注册时间: 2009-05-05
最后登录: 2011-05-22
7楼  发表于: 2010-03-26 15:43
版主,这个怎么用?我不会。。。
级别: 侠客
UID: 5706
精华: 0
发帖: 119
金钱: 780 两
威望: 406 点
贡献值: 0 点
综合积分: 238 分
注册时间: 2009-05-05
最后登录: 2011-05-22
8楼  发表于: 2010-05-04 17:00

 回 1楼(381762390) 的帖子

因为我也遇到了同样的问题,我的理解是这样的:
在调用该控件的时候,我们自己new了一个filedialog,但是楼主提供的程序里面也有new一个filedialog。举个例子如下:
/*************************************************
Function: getOpenFileName()
Description: 返回打开文件名
Calls: selectedFile()
Input: 无
Output: 无
Return: 目录
*************************************************/
QString FileDialog::getOpenFileName( const char *dirName, const char *filter, QWidget *parent, const char *name )
{
    FileDialog *dlg = new FileDialog( dirName, filter, parent, name, TRUE );  //这里创建了一个filedialog。
    CHECK_PTR( dlg );
    dlg->setCaption( "Open" );
    QString result;
    if (dlg->exec() == QDialog::Accepted)
    {
        result = dlg->selectedFile();
    }
    delete dlg;
    return result;
}

因此,解决方法就是:我们不需要自己new一个filedialog。而是直接在“打开”按钮对应的slot函数里面调用该函数即可,这样就不会跳出来两次了。
走自己的路,让别人去说!
级别: 侠客
UID: 11808
精华: 0
发帖: 86
金钱: 450 两
威望: 90 点
贡献值: 0 点
综合积分: 172 分
注册时间: 2009-12-21
最后登录: 2014-04-10
9楼  发表于: 2010-06-14 17:17

 回 8楼(cyndy) 的帖子

cyndy x兄,我比较赞同你的看法。我实现了一下,但结果仍弹出两次。不过我发现:在菜单栏实现“打开”的时候,不管用不用new,都很正常,不知道为什么。
对知识的追求永无止境
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go