非常有帮助的参考资料:
https://blog.youkuaiyun.com/gaojixu/article/details/82185694
该参考文献的主要流程:
(1)QT下载安装:从官网下载QT,并记住安装路径。
(2)在VS2017中下载QT的扩展模块:
①打开VS2017,选择工具 - 拓展和更新
②点击 联机 ,然后在搜索框中输入Qt,然后点击 下载
③关闭VS2017 ,会弹出VS2017 QT安装界面,点击弹窗中的 修改,然后关闭
④再次打开VS2017 ,在VS2017 的Qt vs tools的下拉菜单中选择Qt options,进行相应环境配置,步骤较多,具体见参考资料。
⑤配置系统环境变量。
(3)在VS2017中新建一个C++的QT项目,进行测试。
注意,新建一个项目测试时,会弹框让勾选一些东西,具体每项勾选的作用目前不清楚,该参考资料中也没提及,自己实践发现全不勾选也没关系,功能跟之前测试的PYQT开发一样。
————————————————————————————————————————————————————————————————————
计算器程序Demo测试:
参考资料(有没解释的地方):https://blog.youkuaiyun.com/bjailihong/article/details/77508615
步骤:
第一 新建QT项目(简单)
第二 在Qt Designer中设计计算器UI界面(简单)
第三 在‘’项目名称.cpp‘’文件中(非main.cpp文件)添加事件和槽的关联代码,并编写UI界面中各处理逻辑
第三步全代码如下:主要注意各部分代码的摆放位置。
#include "QtGuiApplication1.h"QtGuiApplication1::QtGuiApplication1(QWidget*parent)
: QMainWindow(parent)
{
ui.setupUi(this);//添加关联代码,必须放在 setupUi 函数之后,信号与槽机制//btn_caculate为计算器中按钮的name,caculate为接下来自定义的函数名称
connect(ui.btn_caculate, SIGNAL(clicked()), this, SLOT(caculate()));
}voidQtGuiApplication1::caculate()
{
QString estr1= "can not devide 0!";
QString estr2= "please choose caculate option!";double n1 = ui.lineEdit->text().toDouble();double n2 = ui.lineEdit_2->text().toDouble();int size1 = ui.lineEdit->text().size();int size2 = ui.lineEdit_2->text().size();if (ui.lineEdit->text().size() == 0 || ui.lineEdit_2->text().size() == 0)
{
ui.lineEdit_3->setText("Please Input numbers!");return;
}double out = 0;if (ui.radioButton->isChecked())
{out = n1 +n2;
}else if (ui.radioButton_2->isChecked())
{out = n1 -n2;
}else if (ui.radioButton_3->isChecked())
{out = n1 *n2;
}else if (ui.radioButton_4->isChecked())
{if (abs(n2 - 0) < 1E-10)
{
ui.lineEdit_3->setText(estr1);return;
}else
out = n1 /n2;
}else{
ui.lineEdit_3->setText(estr2);return;
}
ui.lineEdit_3->setText(QString::number(out, 'f', 10));
}
最终效果:
注意:在测试该Demo时,修改了UI界面中某控件名字后,VS中的.h文件有时候并未更新,导致代码补全时一直不弹出最新的控件变量名。
等我直接编译运行一次项目后,才更新过来,具体该方面原因和解决办法暂时未去了解。
环境搭建中途报错1:
这是因为仅在VS2017中下载了QT模块,而没有在本机电脑中安装QT软件或配置环境变量,导致在VS中新建QT项目时报此错。
如下补充一点关于pyqt和qt开发区别:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有