精华内容
下载资源
问答
  • QString desktop_path = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); QDesktopServices::openUrl(QUrl(desktop_path)); desktop_path 为桌面路径
    QString desktop_path = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);
                    
    
    
    QDesktopServices::openUrl(QUrl(desktop_path));

    desktop_path 为桌面路径

    展开全文
  • 比如获取到操作系统目录、用户信息目录、我的文档、之类的目录、Program Files的目录等等
  • Qt获取本地路径下面的文件夹名

    千次阅读 2019-05-10 13:55:49
    Qt获取本地路径下面的文件夹名 代码如下: #include <QCoreApplication> #include <QDir> #include <string> #include <iostream> #include <vector> #include <QTextCodec> #...
    • Qt获取本地路径下面的文件夹名
      代码如下:
    #include <QCoreApplication>
    #include <QDir>
    #include <string>
    #include <iostream>
    #include <vector>
    #include <QTextCodec>
    #include <qdebug.h>
    void GetAllFileFolder(QString dirPath, std::vector<QString> &folder);
    using namespace std;
    void GetAllFileFolder(QString dirPath, std::vector<QString> &folder)
    {
    
        QDir dir(dirPath);
        dir.setFilter(QDir::Dirs);
        foreach(QFileInfo fullDir, dir.entryInfoList())
        {
            if(fullDir.fileName() == "." || fullDir.fileName() == "..") continue;
            folder.push_back(fullDir.absoluteFilePath());
             GetAllFileFolder(fullDir.absoluteFilePath(),  folder);
            qDebug("文件夹%s\n",fullDir.absoluteFilePath());
        }
    }
    
    int main(int argc, char *argv[])
    {
    
        QCoreApplication a(argc, argv);
        QTextCodec* codec = QTextCodec::codecForName("GBK");
        QTextCodec::
    展开全文
  • QT获取当前运行路径

    2013-06-07 15:45:42
    通过附件的代码,将会获取程序运行的路径,QString类型。
  • Qt 获取windows某目录下的所有文件信息(文件名、版本号、大小、创建修改时间)   关键代码如下: 一、所需的头文件如下: /*FileInfoExtractor.h*/ #include&lt;QFileInfoList&gt;  #include &...

    Qt 获取windows某目录下的所有文件信息(文件名、版本号、大小、创建修改时间)

     

    关键代码如下:

    一、所需的头文件如下:

    /*FileInfoExtractor.h*/

    #include<QFileInfoList> 
    #include <QFileInfo>
    #include <QFileDialog>
    #include <QDebug>
    #include <windows.h>
    #include <QDateTime>
    #include<QDir> 

    #pragma execution_character_set("utf-8")
    class FileInfoExtractor : public QObject
    {
        Q_OBJECT

    public:
        FileInfoExtractor(QObject *parent=nullptr);
        ~FileInfoExtractor();
    public:

       //获取文件版本信息
        QString GetFileVersion(QString& fullName);

        //获取某一目录下的文件列表
        QFileInfoList GetFileList(QString& path);

        //分析指定目录下的文件信息
        void FileInfoAnalyzer(QString& ftp_dir);
    };

    二、 源代码部分:

    #include "FileInfoExtractor.h"

    FileInfoExtractor::FileInfoExtractor(QObject *parent)
        : QObject(parent)
    {
    }

    FileInfoExtractor::~FileInfoExtractor()
    {
    }

     

     //获取文件版本信息

    QString FileInfoExtractor::GetFileVersion(QString &fullName)
    {
        QString result = "";
        char* pData = nullptr;
        do{
            DWORD dwLen = GetFileVersionInfoSize(fullName.toStdWString().c_str(), 0);
            if (0 == dwLen)    {
                break;
            }
            pData = new char[dwLen + 1];
            BOOL bSuccess = GetFileVersionInfo(fullName.toStdWString().c_str(), 0, dwLen, pData);
            if (!bSuccess)    {
                break;
            }
            struct LANGANDCODEPAGE
            {
                WORD wLanguage;
                WORD wCodePage;
            } *lpTranslate;
            LPVOID lpBuffer = nullptr;
            UINT uLen = 0;
            bSuccess = VerQueryValue(pData, (TEXT("\\VarFileInfo\\Translation")), (LPVOID*)&lpTranslate, &uLen);
            if (!bSuccess)    {
                break;
            }
            QString str1, str2;
            str1.setNum(lpTranslate->wLanguage, 16);
            str2.setNum(lpTranslate->wCodePage, 16);
            str1 = "000" + str1;
            str2 = "000" + str2;
            QString verPath = "\\StringFileInfo\\" + str1.right(4) + str2.right(4) + "\\FileVersion";
            bSuccess = VerQueryValue(pData, (verPath.toStdWString().c_str()), &lpBuffer, &uLen);
            if (!bSuccess)    {
                break;
            }
            result = QString::fromUtf16((const unsigned short int *)lpBuffer);
        } while (false);
        if (nullptr != pData){
            delete pData;
        }
        return result;
    }

    //获取某一目录下的文件列表

    QFileInfoList FileInfoExtractor::GetFileList(QString& path)
    {
        QDir dir(path);
        QFileInfoList file_list = dir.entryInfoList(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
        QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);

        for (int i = 0; i != folder_list.size(); i++) {
            QString name = folder_list.at(i).absoluteFilePath();
            QFileInfoList child_file_list = GetFileList(name);
            file_list.append(child_file_list);
        }

        return file_list;
    }

     

    //分析指定目录下的文件信息

    void FileInfoExtractor::FileInfoAnalyzer(QString& ftp_dir)
    {
        QDir dir(ftp_dir);
        dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
        dir.setSorting(QDir::Size | QDir::Reversed);

        QFileInfoList list_sub = GetFileList(ftp_dir);
        
        for (int i = 0; i < list_sub.size(); ++i) {
            QString filepath; QString full_path;
            QFileInfo fileInfo = list_sub.at(i);        
            filepath.append(fileInfo.path());

            filepath += "/" + fileInfo.fileName();
            if (!filepath.isEmpty()){
                QFile file(filepath);
                if (!file.open(QIODevice::ReadOnly | QIODevice::Text))    {
                    return;
                }
                QString file_ver = GetFileVersion(filepath);

                QFileInfo info(filepath);
                if (info.exists())    {

                    QString file_size = tr("%1").arg(info.size());
                    QDateTime dt = info.created();
                    QString create_time = tr("%1").arg(dt.toString("yyyy-MM-dd hh:mm:ss"));
                    dt = info.lastModified();
                    QString modify_time = tr("%1").arg(dt.toString("yyyy-MM-dd hh:mm:ss"));
                    QString file_id = tr("%1").arg(i);

                    qDebug() << "文件名:" << info.fileName() << " 版本:" << file_ver << " 大小(Byte) :" << file_size << " 创建时间 : " << create_time << " 创建时间 : "<<modify_time ;
                }
            }
        }
    }
     

    展开全文
  • QT 中文路径获取

    2021-01-18 17:32:44
    windowsQt开发中识别中文路径 QT中打开文件,当文件路径存在中文名是会出现 乱码或者“???”的情况 网上常见的一种方法是使用: QTextCodec *code = QTextCodec::codecForName("gb18030"); std::string name =...

    windows下Qt开发中识别中文路径

    QT中打开文件,当文件路径存在中文名是会出现 乱码或者“???”的情况
    网上常见的一种方法是使用:

    
    QTextCodec *code = QTextCodec::codecForName("gb18030");
    std::string name = code->fromUnicode(pathname).data(); // pathname 为QString的中文路径名
    
    

    这类方法是使用C++中的std::string来识别
    但是此时的name类型为string,可能还需要转换到QString然后使用QFile file(name)这种方法打开。

    另一种方法是在Qt文件main函数加入`

    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
        //QT中获取中文路径
        QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
        }
    

    或者是

    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
        //QT中获取中文路径
        QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF_8"));
    

    目前试了一下,GB2312和 UTF-8都可以。具体有什么区别后续可能会补充。

    展开全文
  • windows下可以使用QStandardPaths来获取字体所在路径。未测试其他系统。 qDebug()<<"FontsLocation"<<QStandardPaths::standardLocations(QStandardPaths::FontsLocation);
  • Qt 获取当前桌面 app路径

    千次阅读 2017-07-06 11:50:40
    桌面路径 QString desktop_path = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); qDebug(); QStringList fileNames = QFileDialog::getOpenFileNam
  • C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\MobileRobots\\MobileSim\\MobileSim.lnk");//软件启动快捷方式 QString program = fileInfo.canonicalFilePath().;//通过快捷方式...
  • Hi,I wanted to read the file "Logfile_P_1.txt" in my application.but I want to get the full path of the file"LogFile_P_1.txt... what is the best way to get the relative path of the File in QT::Dir? be...
  • 1、打开获取文件夹路径的对话框 QString filePath = QFileDialog::getExistingDirectory(this, "请选择文件保存路径...", "./"); QString getExistingDirectory(QWidget *parent = Q_NULLPTR, const QString &...
  • QT为此提供了各种方法,例如常用的getOpenFileName()可以读取某个文件的路径、getOpenFileNames()读取多个文件的路径等等。 这些方法都存在QFileDialog类中,并且都是静态函数,你可以直接调用这些函数。 #include &...
  • qt获取ftp服务器目录 内容精选换一换Linux x86-64(64位)服务器,常见的有EulerOS、Ubuntu、Debian、CentOS、OpenSUSE等。Windows 7及以上版本。请参见JRE地址下载JRE。Linux服务器安装请参考如下步骤:使用root用户...
  • 系统1:ThinkPad T570、Windows10、QT5.12.2(Qt Creater 4.8.2) 系统2:NVIDIA Tegra X2 、Ubuntu 16.04LTS、QT5.5.1(Qt Creater 3.5.1) 新建一个Qt Widget Application应用程序,在mainwindow.cpp中代码如下: ...
  • Qt 相对路径 绝对路径

    万次阅读 2016-08-18 10:47:43
    app.applicationDirPath() : 这个获取的就是一个绝对路径,是程序运行时的绝对路径,如果是debug模式,绝对路径定位到debug文件 QDir::currentPath();这个获取的是工作目录的绝对路径。在工程中点击运行获取的是...
  • 1.1Qt5.9获取所有盘符用函数QFileInfoList QIr::drives(),代码如下: foreach (QFileInfo my_info, QDir::drives()) { qDebug()&lt;&lt;my_info.absoluteFilePath(); }   1.2结果如下所示:   ...
  • Qt --选择文件获取相应路径

    千次阅读 2018-12-13 18:02:02
    QString testFileName = QFileDialog::getOpenFileName(this,tr(&amp;quot;&amp;quot;),&amp;quot;&amp;quot;,tr(&amp;quot;Img(*.jpg)&amp;quot;)); //选择路径
  • Qt获取应用程序全路径非常简单,直接使用QCoreApplication::applicationDirPath()这个静态函数就OK了, QString Global::exeDir() { return QCoreApplication::applicationDirPath(); } 查看Qt官方帮助文档的...
  • Windows设备信息获取:(摄像头,声卡为例)Qt,WindowsAPI对比说明补充说明问题QT摄像头相关信息获取(分辨率,图像格式)WindowsAPI,win10,win7不兼容问题兼容代码 补充说明 在上一篇文档中,文档末尾提到了,win...
  • Qt快速转换路径(斜杠与反斜杠转换)

    千次阅读 2019-06-18 18:13:18
    Qt由于跨平台,在linux与windows系统的路径表达都不尽相同。本文介绍如何快速转换'/'与'\'的路径
  • 获取程序运行时的绝对路径 //< 如果是debug模式,绝对路径定位到debug文件 app.applicationDirPath() //< 获取工作目录的绝对路径 //< (1)在工程中点击运行获取的是下面设置的路径 //< (2)如果在...
  • Qt的方法:#include &... //获取exe文件的路径,C:/a/b/DataManager.exe std::string exePath = qApp-&gt;applicationFilePath().toStdString(); int i = exePath.rfind("/"); ...
  • QT文章列表 我的文档 QString location = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); 桌面 QString location = QStandardPaths::writableLocation(QStandardPaths::...
  • Qt实现 获取程序所在的各种路径

    千次阅读 2020-10-24 11:48:51
    2、返回exe可执行文件的路径(绝对路径) qApp->applicationFilePath() 如D:/qt_coding/build/debug/test.exe 3、返回exe当前目录(绝对路径) QString QDir::currentPath() 如D:/qt_coding/build 4、
  • 经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径、用户目录路径、临时文件夹等。在 Qt 中实现这几个功能所用的方法虽然都不难,但是各不相同,每次用到时还要现去查,很不方便。因此就写了这篇博客,把...
  • QT-相对路径/工程当前路径问题

    千次阅读 2019-09-05 17:00:00
    Windows下利用QT读取图片文件显示时,图片读取该相对路径是出现问题,图片没有显示。 最开始以为exe文件所在的目录是当前路径,后面发现并不是这样的,然后用qDebug打印出当前目录 #include <QDir> ...
  • Qt获取字体

    2020-03-05 20:35:03
    //.h #ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include <QPushButton> #include <QLineEdit> #include <QGridLayout> #include <...class Dialog : pub...
  • Qt on Windows相关操作

    2019-09-03 10:26:25
    Qt on Windows相关操作 在此记录Qt Windows应用程序开机自启、关闭/重启windows系统、设置Windows桌面背景等功能。 说明: 1、包含头文件 #include <Windows.h> 2、工程文件中引入库 LIBS+=-ladvapi32 ...
  • 简介 近期一个小项目需要获取本机摄像头,声卡的信息,...Qt:5.8.5 VS:vs2013 相关资料 USB 获取设备VID,HID windows SetupAPI 介绍和使用 获取指定USB设备的VID PID和SerialNumber 代码片段 USB HID,VID说明 USB...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,674
精华内容 3,069
关键字:

qt获取windows路径