Qt--qt.conf
来源:互联网 发布:运动减肥软件 编辑:程序博客网 时间:2024/05/29 16:31
在qmake或qtcreator执行文件所在目录下都有一个qt.conf文件,这个文件是Qt5用来指定Qt库所在路径的,即使你安装了多个Qt库版本,也可以使用qt.conf来指定使用哪一个了。我们打包发布自己的程序时,也应使用qt.conf指定Qt库路径。
Qt帮助文档里已经介绍了qt.conf可以配置的项,下面我们从源码角度看下程序是如何读取这个文件的。
在qlibraryinfo.cpp文件中,我们可以发现这样一个类:
struct QLibrarySettings{ QLibrarySettings(); void load(); QScopedPointer<QSettings> settings;}
在QLibrarySettings构造函数中会调用load方法,load中会调用一个私有类的方法:
QSettings *QLibraryInfoPrivate::findConfiguration(){ QString qtconfig = QStringLiteral(":/qt/etc/qt.conf"); if (QFile::exists(qtconfig)) return new QSettings(qtconfig, QSettings::IniFormat); if (QCoreApplication::instance()) { QDir pwd(QCoreApplication::applicationDirPath()); qtconfig = pwd.filePath(QLatin1String("qt.conf")); if (QFile::exists(qtconfig)) return new QSettings(qtconfig, QSettings::IniFormat); } return 0;}
就是说她先会在qrc资源文件中寻找:/qt/etc/qt.conf,如果没有则在应用程序所在路径寻找qt.conf。这和Qt帮助文档中所说的一样。QSettings::IniFormat代表qt.conf是一个ini格式文件,解析的结果会保存在一个QSettings类中.
qt.conf中有许多可以配置的项,我们不必每个都设置,它有一个默认值,保存在一个key-value键值对结构体中:
static const struct { char key[19], value[13];} qtConfEntries[] = { { "Prefix", "." }, { "Documentation", "doc" }, // should be ${Data}/doc { "Headers", "include" }, { "Libraries", "lib" },#ifdef Q_OS_WIN { "LibraryExecutables", "bin" },#else { "LibraryExecutables", "libexec" }, // should be ${ArchData}/libexec#endif { "Binaries", "bin" }, { "Plugins", "plugins" }, // should be ${ArchData}/plugins { "Imports", "imports" }, // should be ${ArchData}/imports { "Qml2Imports", "qml" }, // should be ${ArchData}/qml { "ArchData", "." }, { "Data", "." }, { "Translations", "translations" }, // should be ${Data}/translations { "Examples", "examples" }, { "Tests", "tests" },#ifdef QT_BUILD_QMAKE { "Sysroot", "" }, { "HostBinaries", "bin" }, { "HostLibraries", "lib" }, { "HostData", "." }, { "TargetSpec", "" }, { "HostSpec", "" }, { "HostPrefix", "" },#endif};
这些项默认路径和我们安装或编译生成时路径是一致的,所以配置qt.conf时一般只用指定前缀目录即可,格式如下:
[Paths]
Prefix = /some/path
阅读全文
1 0
- Qt--qt.conf
- qt.conf 配置范例
- qt.conf 和qt程序移植
- qt.conf和qtconfig配置Qt运行设定
- 用qt.conf和qtconfig配置Qt运行设定
- qt.conf和qtconfig配置Qt运行设定
- QT
- QT
- QT
- Qt
- qt
- QT
- QT
- QT
- QT
- qt
- Qt
- QT
- LayaAir类的写法
- 基于maven,springmvc+mybatis+pagehepler分页配置
- Spring Boot启动失败:...rethrowRuntimeException....
- 原生JS实现网页烟花动画效果——前端工程师必备技能!
- Spring4 之 Bean(二)
- Qt--qt.conf
- 和各种诡异 Bug 打交道 13 年,我总结了 18 条经验
- 【第二届蓝桥杯】轮换
- 深入理解 Promise 五部曲:3. 可靠性问题
- Converting circular structure to JSON
- Markdown编辑器初体验
- Linux 权限设置
- 个人命令整理(一)
- Hadoop集群活跃节点为0解决方案