错误如下图:

原因:用户设置了 QT_QPA_PLATFORM_PLUGIN_PATH (或QT_PLUGIN_PATH)环境变量,该变量指向了旧版本发QT插件的目录,导致QT开发的程序总是加载旧版本的插件。
解决方案:插件的搜索顺序,环境变量优先于qt.conf,因此不能通过qt.conf来配置。
一种可行的方法是在实例化QApplication对象之前,清空QT_QPA_PLATFORM_PLUGIN_PATH (或QT_PLUGIN_PATH)环境变量。
示例代码:
int main(int argc, char *argv[])
{
qputenv("QT_QPA_PLATFORM_PLUGIN_PATH", "");
qputenv("QT_PLUGIN_PATH", "");
QApplication a(argc, argv);
......
}
文章讲述了在开发QT应用时遇到的问题,由于用户设置了指向旧版本插件的环境变量,导致程序加载错误。解决方案是清理相关环境变量,如QT_QPA_PLATFORM_PLUGIN_PATH和QT_PLUGIN_PATH,确保在实例化QApplication对象前使用示例代码进行操作。
5775

被折叠的 条评论
为什么被折叠?



