qt为什么运行不了项目?qt项目怎么运行?

Qt 是应用程序开发的一站式解决方案,经常被当做一个 GUI 库,用来开发图形界面应用程序,可是我们在开发qt的过程中,发现qt项目运行不了,这是怎么回事?下面来我们就来给大家讲解一下。

qt为什么运行不了项目.jpg

1、缺少 qt platform 依赖库;

qt.qpa.plugin: Could not find the Qt platform plugin "windows" in ""

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

少平台 dll 库,如windows 平台

将 类似 你的路径 D:\ProgramData\Qt\5.12.4\msvc2017_64\plugins\platforms

拷贝到 运行目录;其实用到的是 qwindows.dll或 qwindowsd.dll

2、 could not be loaded: Cannot load library 提示缺少依赖库

could not be loaded: Cannot load library 如果是你自己编译出的库不能被 loaded ,还是少依赖,具体还是要查;

如指明了缺少文件名,可以根据目录就找到相应依赖库拷贝过来就可以;

windows 平台可以通过 log 和 depends.exe来查;

linux 平台可以通过命令行查依赖

1.查看依赖的库: objdump -x xxx.so | grep NEEDED

2.查看可执行程序依赖的库: objdump -x 可执行程序名 | grep NEEDED

3.查看缺少的库: ldd xxx.so

缺少库存有两种解决方案

1、加入到环境变量 ,如果是文件夹适合此方法;

2、直接拷贝到当前目录;

还有一种情况是当前库的所在目录不对,移动到合适的文件夹,此文件夹含有它依赖的库,

但不能拷贝它依赖的库,否则就存在二份,也会有问题;

qt项目怎么运行?

步骤一:新建项目

1、运行 QtCreator,打开 “文件 -> 新建文件或项目” 菜单项,弹出一个对话框,我们选择 Application 项目中的 Qt Widgets Application。然后单击 “Choose” 按钮。

2、输入项目名称:helloworld,然后点击 “浏览” 按钮来选择源码存放路径,比如我这里是 E:codeTestqtCreator_2,如果选中了 “设为默认的项目路径”,那么今后创建的项目都将存放在这里。单击“下一步”。注意:项目所在路径中不能有中文,否则程序会运行报错。

3、选择构建套件:DeskTop Qt 5.6.7.1 MinGw 32bit,点击详情按钮可以看到默认为 Debug 版本和 Release 版本分别设置了不同的目录,都保持默认即可。单击“下一步”。

4、自定义类名:设定类名为 HelloDialog, 基类选择 QDialog,表明该类继承自 QDialog 类,使用这个类可以生成一个对话框界面。这时下面的头文件、源文件和界面文件都会自动生成,保持默认即可。然后单击“下一步”。

5、设置项目管理:在这里可以看到这个项目的汇总信息,还可以使用版本控制系统,这里不会涉及,直接单击 ”完成“ 即可。

6、右击项目文件列表中的任一文件,点击 ”在Explorer中打开“,就可以转到项目文件夹,让我们来看看项目目录中的各个文件说明:

步骤二:界面设计

1、在 Qt Creator 编辑模式下双击项目文件列表中界面文件分类下的 hellodialog.ui 文件,便会进入设计模式。

2、在控件区寻找一个 ”Label“ 标签部件,将它拖拽到主设计区的界面上,双击进入它进入部件进入编辑状态后输入 ”Hello World!我是Qter!“字符串。还可以再拖拽一个 ”PushButton“ 按钮部件到标签下方,编辑按钮上文本为 ”OK";

步骤三:编译并运行程序

1、Ctrl+R 组合键相当于左下角第一个绿色三角按钮(编译运行),按下后程序开始编译,右下角还有一个可视的进度条。

2、如果前面操作没有错误,那么这时我们制作的 helloWorld 应用程序已经运行起来了,而 Qt Creator 下方弹出了“应用程序输出”框,在这里有一个红色的方块按钮可以终止程序运行,也可以直接关掉 HelloWorld 窗口。

这样我们就完成了qt项目运行的全过程,其实要项目能够运行起来,就需要保证代码的正确性,如果代码有错误,那么肯定会出现运行错误的情况!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

json数据是什么意思?json数据怎么解析?

springcloud和dubbo区别有哪些?dubbo工作原理是什么?

java工程师面试题有哪些?java工程师面试题分享