Qstring.contains()

问题:一个接收数据的程序,当10s内没有读到数据的话就会弹出一个QMessageBox 对话框,用Qstring.contains()以及bool变量实现当检测到已经有QMessage10SBox 对话框存在的话就不会再弹出相同的对话框,除非这一个对话框已经被关闭并且10s内再次没有接收到相应的数据。


相关代码:

<span style="color:#333333;">void MainWindow::onPrompt(QString title, QString content)
{
    if (content.contains("received"))
    {
        if (!m_pompt)
        {
            m_pompt = true;
            QMessageBox::critical(this, title, content, QMessageBox::Close);
            m_pompt = false;
        }
    }
    else
        QMessageBox::critical(this, title, content, QMessageBox::Close);
}</span><span style="color:#00cccc;">
</span>

使用Qstring.contains()检测弹出对话框里的信息“received”,在MainWindow构造函数里对变量m_pompt初始化为false,这样当检测到有超时10s的对话框弹出的时候,如果这个对话框不被关闭,那么变量m_pompt的值将会是true,这样就不会有重复的对话框弹出,而当关闭对话框后,又会继续检测是否有10s超时以及弹出相应的对话框。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值