Qt里面的函数操作逻辑总结//笔记笔记随时更改
1,头文件.h
2,源文件.cpp
FB=函数,codesys和其他叫法有多不同
qt是c++的跨平台ui界面编程软件,所以他的源文件是cpp格式。
在bodas中,当需要封装一个功能时,需要创建.fb文件,代表FunctionBlock功能块,功能块带有输入和输出接口。.prg文件称作程序文件,用来写各部分的主体逻辑,当需要使用封装FB的时候,在prg文件声明框部分进行声明即可,且没有输入必须全部使用的规则。
Qt中,当你需要进行FB封装或使用部分FB(部分,例如鼠标事件),必须现在.h文件中进行函数重写,用于表明函数中有哪些输入变量和函数的返回值。`
void MypushButton(QString normalState , QString pressState ="");
函数重写,或自定义操作,命名名为MypushButton的函数,内涵两个输入变量,
无返回值,所以前面无需加void 加上也可以,
代表无返回值,没有返回值应该是说明函数内部计算过程不多,
多是执行功能或者存储数据。
void zoom1();
注意:Qt或者说C++中,定义函数的时候必需要将可能用不到的参数赋初始值,未赋初始值的函数在调用的时候,必须要表明,否则IDE报错。(从codesys转C++过程中名词转换太混乱)。
注意:Qt的全局变量也在头文件中声明,名为成员变量。
函数的内部逻辑是在.cpp文件中进行的,新建c++ class的时候,会同时生成.h和.cpp文件,函数定义后,在同名.cpp文件中进行逻辑编辑,后续需要使用时进行调用即可。
MypushButton::MypushButton(QString normalState , QString pressState)
{
this->normalPath = normalState;
this->pressPath = pressState;
QPixmap pix;
bool rec = pix.load(normalPath);
if (!rec)
{
qDebug()<<"图片加载失败";
QMessageBox::warning(this ,"错误" ,"图片加载失败" );
return ;
}
this->setFixedSize(pix.width() , pix.height());
this->setStyleSheet("QPushButton{border:0px}");
this->setIcon(pix);
this->setIconSize(QSize(pix.width(),pix.height()));
}
以上操作是将自定义的一个按钮,使用pixmap画出(画家类也可以做,只是还要用变量去存尺寸),因为这个函数继承了Qpushbutton这个父类,所以使用pixmap的时候,画出的大小可以和qpushbutton自定义的按钮大小相同,直接用this->width()和hight就可以定义画出来的图标的大小(注意Qt5和Qt4不同,我用的5.9.1)。
上述在编写函数内部逻辑的时候,注意一定要加上函数的作用域,就是::前面那个变量,是代表了该函数起作用的范围,或者说目前是这在这个域内访问这个函数。::作用域符号在c++中用法还没有搞清楚。但是作用域越小优先程度越高。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)