首先我们先在头文件中设置信号
signals:
void sigLogin(int result);
然后我们在.cpp文件中的初始化位置写入如下代码
connect(tcpsocket, &QTcpSocket::readyRead, this, &Mima::slotreceive);
tcpsocket表示QTcpSocket的类对象
this当前对象
slotreceive表示Mima类中的方法
当我们触发readyRead信号的时候会调用Mima中的slotreceive方法
我们可以在slotreceive方法中设置触发sigLogin这个信号的条件。
我们可以在前端的代码中与后端的C++代码进行交互
mainw.slotreceive(textField1.text,textField2.text)
mainw指代后端的Mima类的对象,result指sigLogin信号中的int 类型的值,onSigLogin指定触发的信号是sigLogin信号。(格式on+信号名(首字母要变成大写))。
Connections{
target: mainw
onSigLogin:
{
if(result == -1){
element5.text="没有这个用户"
} if(result == 0){
rectangle.visible = false
code.visible = true
}if(result == 1){
element6.text="密码不正确请重新输入"
element5.text=""
}if(result == -2){
element6.text="服务器连接失败"
element5.text=""
}if (result == -3){
textField1.placeholderText ="请输入用户名"
}if (result == -4){
textField2.placeholderText ="请输入密码"
}if (result == 5){
element6.text ="未读取到信息"
}
}
}