您的位置:首页 > 编程语言 > Qt开发

QT 打开文件选择窗口

2017-10-26 10:50 447 查看
1.

#define SYSTEM_DIR_LB_FILE
               0x0B000000       //录波目录

QString filepath_dat=QFileDialog::getOpenFileName(this,tr("Open Image"),DirMgr::GetSysDirAllEn_Name(SYSTEM_DIR_LB_FILE), tr("data(*.dat);;all(*.*)"));

2.

XString DirMgr::GetSysDirAllEn_Name(XUINT dir_val)
//dir_val = SYSTEM_DIR_LB_FILE

{
if (IS_INIT == XFALSE)
{
init(false);
}

XString strPath=QCoreApplication::applicationDirPath();
XString dir=GetSysDirEn_Name(dir_val);

    XString alldir="";
QStringList splitdir=strPath.split("/");
XINT i=0;
for(i;i<splitdir.count();i++)
{
XCHAR root_name[100];
memcpy(root_name,(XCHAR*)P_SYSTEM_DIR_EN_STR[0],SYSTEM_DIR_NSA3000T_STR_MAXCOUNT);
if(splitdir.at(i)==QStringEx::fromLocal8Bit(root_name))
{
break;
}
}
for(XINT j=0;j<i;j++)
alldir+=splitdir.at(j)+"/";
alldir+=dir;
return alldir;

}

3

XString DirMgr::GetSysDirEn_Name(XUINT dir_val)

{
if (IS_INIT == XFALSE)
{
init(false);
}

    XString en_name=getdir(dir_val);

    if(dir_val==SYSTEM_DIR_BIN||dir_val==SYSTEM_DIR_APP||dir_val==SYSTEM_DIR_COM||dir_val==SYSTEM_DIR_L_ZIP)

    {
#ifdef CUR_RUN_SYS_WINDOWS_VS2008
en_name=en_name+"/win";
#endif
#ifdef CUR_RUN_SYS_LINUX_QT
en_name=en_name+"/lnx";
#endif

    }

    else
{
#ifdef CUR_RUN_SYS_WINDOWS_VS2008
en_name=en_name.replace("lnx","win");
#endif
#ifdef CUR_RUN_SYS_LINUX_QT
en_name=en_name.replace("win","lnx");
#endif
}

    QStringList enname=en_name.split("/");

    en_name="";

    XINT i=0;

    for(i;i<enname.count();i++)

    {
XCHAR root_name[100];
memcpy(root_name,(XCHAR*)P_SYSTEM_DIR_EN_STR[0],SYSTEM_DIR_NSA3000T_STR_MAXCOUNT);

        if(enname.at(i)==QStringEx::fromLocal8Bit(root_name))

            break;

    }

    for(int j=i;j<enname.count();j++)

        en_name=en_name+enname.at(j)+"/";

    return en_name;

}

总结:

以上是打开选择窗口直接定位到某个文件夹,如果不需要,第一部直接这样:

QString filepath_dat=QFileDialog::getOpenFileName(this,tr("Open Image"),“ ”, tr("data(*.dat);;all(*.*)"));

即可,打开后可能是我的桌面,可能是我的文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐