導航:首頁 > 文件處理 > qt中打開選擇文件夾

qt中打開選擇文件夾

發布時間:2023-08-31 22:04:06

Ⅰ qt如何實現點擊按鈕打開指定文檔

connect(m_HelpAct, SIGNAL(triggered()), this, SLOT(OnHelp()));

實現槽函數:
void CXXX::OnHelp(){
QString runPath = QCoreApplication::applicationDirPath(); //獲取exe路勁。

QString helpName = "幫助文檔.pdf";

QString helpPath = QString("%1/%2").arg(runPath).arg(helpName);

QFile bfilePath(helpPath);

if(!bfilePath.exists()){

return;

}

QString filePath = "file:///" + helpPath; //打開文件夾用filse:///,打開網頁用http://

QDesktopServices::openUrl(QUrl::fromLocalFile(filePath));

Ⅱ Qt怎麼打開指定文件夾下的SQLite數據文件

首先,你的資料庫肯定是跟著你的程序跑的,你不能指定你程序一定要用戶放到D盤下面,也許用戶喜歡把程序放到E盤下面呢。所以你在指定的時候最好用相對路徑,假設你程序運行目錄是在bin下面,你可以在bin下面創建一個data目錄專門用來保存資料庫,你指定目錄的時候就可以
db.setDatabaseName("./data/student.db");//這樣指定。

Ⅲ Qt 如何在打開的文件夾中滑鼠選中某文件

是在打開的文件夾中自動選中某文件吧?不需要用滑鼠。

試試看這一段:


boolOpenFolderAndSelectFile(constchar*filePath)
{
#ifdefQ_OS_WIN

LPITEMIDLISTpidl;
LPCITEMIDLISTcpidl;
LPSHELLFOLDERpDesktopFolder;
ULONGchEaten;
HRESULThr;
WCHARwfilePath[MAX_PATH+1]={0};

::CoInitialize(NULL);

if(SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
{
//IShellFolder::ParseDisplayName要傳入寬位元組
LPWSTRlpWStr=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();
returnFALSE;
}

cpidl=pidl;

//SHOpenFolderAndSelectItems是非公開的API函數,需要從shell32.dll獲取
//該函數只有XP及以上的系統才支持,Win2000和98是不支持的,考慮到Win2000
//和98已經基本不用了,所以就不考慮了,如果後面要支持上述老的系統,則要
//添加額外的處理代碼
HMODULEhShell32DLL=::LoadLibraryA("shell32.dll");
//ASSERT(hShell32DLL!=NULL);
if(hShell32DLL!=NULL)
{
typedefHRESULT(WINAPI*pSelFun)(LPCITEMIDLISTpidlFolder,UINTcidl,LPCITEMIDLIST*apidl,DWORDdwFlags);
pSelFunpFun=(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();
returnFALSE;
}
}

::FreeLibrary(hShell32DLL);
}
else
{
pDesktopFolder->Release();
::CoUninitialize();
returnFALSE;
}

//釋放pDesktopFolder
pDesktopFolder->Release();
}
else
{
::CoUninitialize();
returnFALSE;
}

::CoUninitialize();
returnTRUE;

#else
QStringpathIn(filePath);
QStringListscriptArgs;
scriptArgs<<QLatin1String("-e")<<QString::fromLatin1("tellapplication"Finder"torevealPOSIXfile"%1"").arg(pathIn.replace('\','/'));
QProcess::execute(QLatin1String("/usr/bin/osascript"),scriptArgs);
scriptArgs.clear();
scriptArgs<<QLatin1String("-e")<<QLatin1String("tellapplication"Finder"toactivate");
QProcess::execute("/usr/bin/osascript",scriptArgs);
returntrue;
#endif
}

Ⅳ 在mac下用QT編寫代碼想打開一個文件路徑怎麼設置

#include <QDesktopServices>

#include <QUrl>

QString runPath = QCoreApplication::applicationDirPath(); //獲取exe路勁

QString Name = 「student.rtf"」;
QString AllPath = QString("%1/%2").arg(runPath).arg(Name);

QFile bfilePath(AllPath);

if(!bfilePath.exists()){//是否存在

return;

}

QString filePath = "file:///" + AllPath; //打開文件夾用filse:///,打開網頁用http://

QDesktopServices::openUrl(QUrl::fromLocalFile(filePath));

Ⅳ QT裡面用treeview顯示的目錄和文件選中後怎麼打開

感覺應該可以獲得選中文件的目錄,然後用系統調用打開

閱讀全文

與qt中打開選擇文件夾相關的資料

熱點內容
majority演算法 瀏覽:818
如何開啟電腦的dlna伺服器 瀏覽:7
3提成怎麼演算法 瀏覽:970
php是不是解釋性語言 瀏覽:23
手機設置遠程定位伺服器地址 瀏覽:913
android模擬器裝apk 瀏覽:773
炒黃金app哪個好用 瀏覽:993
恐懼症app哪個最好用 瀏覽:288
億賽通加密軟體好用嗎 瀏覽:578
為什麼光遇排隊伺服器忙 瀏覽:826
哪個app能把手p瘦 瀏覽:253
java中的date類型 瀏覽:431
面向程序員的范疇論 瀏覽:57
如何查詢伺服器所有電腦名 瀏覽:902
shell命令jar 瀏覽:301
有什麼做手帳app 瀏覽:156
phpjquery源碼 瀏覽:886
大話西遊手游源碼 瀏覽:655
javaudp代碼 瀏覽:660
linuxu盤啟動win7 瀏覽:990