在设计界面主要用到这两个按钮;
QPushButton.(start和end 主要控制缓冲进程的开始和结束)
首先要将start和end转到槽
在头文件和cpp文件中会生成相应的两个函数;(注意:槽函数可以自己写也可以右键转到槽,在右键转到槽时建议先将objectName的名字改成自己想要的方便使用,我命名的是pb_start和pb_end)
void on_pb_start_clicked(); //启动void on_pb_end_clicked(); //暂停有启动和暂停意味着要有个QTimer所以要在头文件中定义一个QTimer 的私有成员 *myTimer (注意:定义一个指针类型的变量必须要分配空间)myTimer = new QTimer(this);之候就要连接信号和槽了;
connect(myTimer,SIGNAL(timeout()),this,SLOT())这个时候你会发现你缺少一个槽函数,所以要自己定义一个槽函数void doProcessTimeOut();连接信号和槽:connect(myTimer,SIGNAL(timeout()),this,SLOT(doProcessTimeOut()));myTimer发送timeout()信号,this接受信号并作出doProcessTimeOut操作;
最后咱们就应该来实现功能了
void Widget::on_pb_start_clicked(){myTimer->start(100); //延时100ms}void Widget::on_pb_end_clicked(){myTimer->stop(); //暂停}void Widget::doProcessTimeOut(){num++; //没定义,要在头文件声明,在狗仔函数初始化if(num == 101) //如果缓冲到100%{
num = 0; //就重新缓冲}
ui->progressBar->setValue(num); //将缓冲的值给了progressBar}