Qt怎么打开指定文件夹下的SQLite数据文件

Qt怎么打开指定文件夹下的SQLite数据文件,第1张

首先,你的数据库肯定是跟着你的程序跑的,你不能指定你程序一定要用户放到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……等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9759790.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存