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(*.*)"));
即可,打开后可能是我的桌面,可能是我的文档
#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(*.*)"));
即可,打开后可能是我的桌面,可能是我的文档
相关文章推荐
- 2.关于QT中的Dialog(模态窗口),文件选择器,颜色选择器,字体选择器,消息提示窗口
- 1. 打开VS2010服务器资源管理器窗口,在数据连接中附加上数据库文件AdventureWorksDW2008。 2. 分页浏览DimEmployee表中数据。 3. 每页5条记录,字段自由选择。
- 2.关于QT中的Dialog(模态窗口),文件选择器,颜色选择器,字体选择器,消息提示窗口
- Qt入门——选择路径打开文件并读取文件
- unity .exe文件打开时跳过选择窗口界面的方式
- WIN32,,打开文件没有默认程序,调用系统的默认程序选择窗口
- python qt(pyqt)的文件打开、文件保存、文件夹选择对话框
- 利用Qt对话框选择文件打开路径
- vb 利用API 打开文件浏览窗口 选择返回目录
- Qt-编程模块 001: 浏览(选择)、打开 文件和文件夹(目录) --- 如何让按钮**记忆上次打开的文本路径**的功能
- unity .exe文件打开时跳过选择窗口界面的方式
- 自定义Windows XP的打开窗口 文件选择框-无需第三方软件
- Unity3d调用system.windows.forms.dll使用OpenFileDialog打开文件选择窗口
- Qt打开文件对话框同时选中多个文件
- Qt 打开文件的默认路径 QFileDialog::getOpenFileName()
- 工作问题积累(十)打开选择文件和选择文件夹的对话框
- Qt显示pdf系列2——QAxWidget打开Office文件及pdf
- 解决Excel 2010打开两个以上文件时,总只显示一个窗口
- vim打开多个文件(文件切换,窗口切换)
- QT的文件过滤器qt选择文件时候的文件过滤