【180510】qt中if\else的一个问题(成长是一个缓慢的过程)

写在前面

今天看到前天写的文章竟然有阅读量,实在是出乎意料,就好像很久以前在知乎上随意写的一个回答今天打开看的时候已经有了1.7K的赞和一百多条的评论。虽然心里还是十分得忐忑,各种不安不敢在这么大的网站写博客,但是想一想谁不是菜鸟过来的,谁还没有被人虐虐到发疯,找bug找不出来捶键盘的时候(昨天晚上我就是)。成长是一个缓慢的过程,一天天一直努力,不断地纠正自己的方向和方法,总有一天回头一看,一定会让自己大吃一惊的。


计算机

今天用一中午的时间(两个半小时吧,包括各种学习)写了一个计时器,应该是相对于我而言没有什么bug了吧。除了界面还能优化一下之外我觉得是完美了。虽然是看课堂老师一点点教的,但到关键步骤的时候还是按了pause键自己去动手尝试了才去听的。做完之后很有成就感,但是发现了一个bug。
【180510】qt中if\else的一个问题(成长是一个缓慢的过程)

                        void MainWindow::on_btn_pause_clicked()
{
static QTime pauseTime;
        if(this->ui->btn_pause->text() == "暂停"){
    pauseTime = QTime::currentTime();
    this->ptime->stop();
    this->ui->btn_pause->setText("继续");
}
        //if(this->ui->btn_pause->text() == "继续"){        
·
 else{
     QTime cut = QTime::currentTime();
     int t = pauseTime.msecsTo(cut);
     this->basetime =this->basetime.addMSecs(t);
     this->ptime->start(1);
     this->ui->btn_pause->setText("暂停");
   }

}
····
当我用if\else语句的时候就能运行,但是用两个if语句的时候逻辑上是相同的,但是就是死活不能运行。qdebug了一下发现根本这个函数就不调用。
和我昨天晚上改课设的情况一下,逻辑上不存在错误,但就是连调用都不调用,课设的问题还没有解决,晚上看一下是不是也是if语句的问题。或者是逻辑错误没有发现??

还有就是第一次意识到函数的运行效率问题,用timer计时的时候在1ms内程序运行速度跟不上会导致时钟的偏差,后来只能用调用的系统时间和启动时间比较来得到时间差。
今天还学习了Qtimer、Qtime、lcdnumer、textbrowser一些基础类和函数的用法。
要苦下功夫学英语呀!!!

猜你喜欢

转载自blog.51cto.com/13737878/2114976