一个基于qt的桌面聊天系统的学习笔记(1)-邮件模块(2)收发信处理流程

本文介绍了基于QT的桌面聊天系统中邮件模块的学习笔记,包括写信和收信的处理流程。写信时,用户在编辑界面完成信件后,通过点击发送按钮触发邮件控制器发送邮件。邮件控制器通过socket与服务器通信,服务器接收到SEND_MAIL请求后,将邮件存入数据库,并通知发件人邮件已发送成功。收信过程中,邮件通信控制类监听socket信息,识别到RECEIVE_MAIL后,将邮件推送到邮件主界面供用户查看。
摘要由CSDN通过智能技术生成

写信:
一.在邮件编辑界面(在IMMailWriteWidget文件中定义)中编辑好信件,点击发送按钮,发出clicked信号
二.IMMailWriteWidget捕获到这个信号,调用槽函数onClickBtnSend


connect(m_btnSend, SIGNAL(clicked()),
            this, SLOT(onClickBtnSend()));

三.在槽函数onClickBtnSend中调用getMailInformation函数取得消息输入框的信息,再让邮件控制器类IMMailCtrl调用requestSendMail函数


void IMMailWriteWidget::onClickBtnSend()
{
    if (m_leReceiverAddress->text().isEmpty())
    {
        QMessageBox::about(NULL, tr("提示"), tr("收件人不能为空!"));
        return;
    }
    if (m_leReceiverAddress->text().compare(m_myID) == 0)
    {
        QMessageBox::about(NULL, tr("提示"), tr("不能给自己发送邮件!"));
        return;
    }
    if (m_leTheme->text().isEmpty())
    {
        QMessageBox::about(NULL, tr("提示"), tr("信件主题不能为空"));

        return;
    }
    if (m_textInput->toPlainText().isEmpty())
    {
        QMessageBox::about(NULL, tr("提示"), tr("信件内容不能为空!"));
        return;
    }

    // 获取信息输入框的信息
    getMailInformation();

    m_mailCtrl->requestSendMail(m_mail);
}

四.requestSendMail函数通过socke

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值