如何在Qt资源文件中包含exe等各种类型文件

如何在Qt资源文件中包含exe等各种类型文件,第1张

1在qt

designer中如果在设计ui界面的时候要加入一些图素,图标等资源的时候是不能直接添加进去的,需要在qt开发目录下编写qrc文件。2qrc文件是类似于xml格式的文件,可以手动创建。首先穿件一个txt文本,然后键入如下图所示的格式。在其中添加你想要的资源文件,最后再把文件后缀名修改成qrc即可。3加入图素文件首先是打开qt

designer,然后打开资源管理器。4选择你创建的qrc文件位置即可。5打开后即可载入你要的图素文件了,点及相关的按钮你可以对资源进行编辑。qt以及qt

designer怎样加入资源文件

是在打开的文件夹中自动选中某文件吧?不需要用鼠标。

试试看这一段:

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

}

采用将项目中的sqlite文件拷到android内存卡上的固定位置,先判断位置上是否存在sqlite文件,不存在则复制文件。sqlite可放在res的raw目录下,亦可放在assets下,放在assets下,可新建其他层次目录,本例选择assets1首先,添加sdcard权限在An

以上就是关于如何在Qt资源文件中包含exe等各种类型文件全部的内容,包括:如何在Qt资源文件中包含exe等各种类型文件、Qt 如何在打开的文件夹中鼠标选中某文件、Qt怎么打开指定文件夹下的SQLite数据文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://www.outofmemory.cn/web/9273544.html

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

发表评论

登录后才能评论

评论列表(0条)

保存