
首先,你的数据库肯定是跟着你的程序跑的,你不能指定你程序一定要用户放到D盘下面,也许用户喜欢把程序放到E盘下面呢。所以你在指定的时候最好用相对路径,假设你程序运行目录是在bin下面,你可以在bin下面创建一个data目录专门用来保存数据库,你指定目录的时候就可以
dbsetDatabaseName("/data/studentdb");//这样指定。
可以。
从保存数据看代码源进而打开文件。
qt是一个由QtCompany于1991年开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。
QTextStream content(file);
QString line;
quint8 i;
QStringList data;
textShimParameterEdit->clear();
do {
line = contentreadLine();
data = linesplit(" ");
for(i=0; i<datalength();i++)
{
xxxx = dataat(i)toInt(&ok,base);
// xxxx你存放数据的空间,base:你需要转换成的进制,看内容应该是16
}
} while (!lineisNull());
是在打开的文件夹中自动选中某文件吧?不需要用鼠标。
试试看这一段:
bool OpenFolderAndSelectFile(const char filePath)
{
#ifdef Q_OS_WIN
LPITEMIDLIST pidl;
LPCITEMIDLIST cpidl;
LPSHELLFOLDER pDesktopFolder;
ULONG chEaten;
HRESULT hr;
WCHAR wfilePath[MAX_PATH+1] = { 0 };
::CoInitialize( NULL );
if ( SUCCEEDED( SHGetDesktopFolder( &pDesktopFolder ) ) )
{
// IShellFolder::ParseDisplayName要传入宽字节
LPWSTR lpWStr = NULL;
//#ifdef _UNICODE
// _tcscpy( wfilePath, strFilePath );
// lpWStr = wfilePath;
//#else
MultiByteToWideChar( CP_ACP, 0, (LPCSTR)filePath, -1, wfilePath, MAX_PATH );
lpWStr = wfilePath;
//#endif
hr = pDesktopFolder->ParseDisplayName( NULL, 0, lpWStr, &chEaten, &pidl, NULL );
if ( FAILED( hr ) )
{
pDesktopFolder->Release();
::CoUninitialize();
return FALSE;
}
cpidl = pidl;
// SHOpenFolderAndSelectItems是非公开的API函数,需要从shell32dll获取
// 该函数只有XP及以上的系统才支持,Win2000和98是不支持的,考虑到Win2000
// 和98已经基本不用了,所以就不考虑了,如果后面要支持上述老的系统,则要
// 添加额外的处理代码
HMODULE hShell32DLL = ::LoadLibraryA("shell32dll");
//ASSERT( hShell32DLL != NULL );
if( hShell32DLL != NULL )
{
typedef HRESULT (WINAPI pSelFun)( LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST apidl, DWORD dwFlags );
pSelFun pFun = (pSelFun)::GetProcAddress( hShell32DLL, "SHOpenFolderAndSelectItems" );
//ASSERT( pFun != NULL );
if( pFun != NULL )
{
hr = pFun( cpidl, 0, NULL, 0 ); // 第二个参数cidl置为0,表示是选中文件
if ( FAILED( hr ) )
{
::FreeLibrary( hShell32DLL );
pDesktopFolder->Release();
::CoUninitialize();
return FALSE;
}
}
::FreeLibrary( hShell32DLL );
}
else
{
pDesktopFolder->Release();
::CoUninitialize();
return FALSE;
}
// 释放pDesktopFolder
pDesktopFolder->Release();
}
else
{
::CoUninitialize();
return FALSE;
}
::CoUninitialize();
return TRUE;
#else
QString pathIn(filePath);
QStringList scriptArgs;
scriptArgs << QLatin1String("-e") << QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"")arg(pathInreplace('\\', '/'));
QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
scriptArgsclear();
scriptArgs << QLatin1String("-e") << QLatin1String("tell application \"Finder\" to activate");
QProcess::execute("/usr/bin/osascript", scriptArgs);
return true;
#endif
}
以上就是关于Qt怎么打开指定文件夹下的SQLite数据文件全部的内容,包括:Qt怎么打开指定文件夹下的SQLite数据文件、qt可以打开.res文件吗、Qt中如何将一个文本文件打开后里面数据以二进制读取,.txt中数据为01 0c cd 04 00 03……等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)