Qstring.contains()

来源:互联网 发布:美工专业培训学校 编辑:程序博客网 时间:2024/04/29 02:41

问题:一个接收数据的程序,当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 0