• 5712阅读
  • 7回复

设置QTimer为什么不能停止 [复制链接]

上一主题 下一主题
离线eagle
 
只看楼主 倒序阅读 楼主  发表于: 2011-06-29
点击开始按钮start
start_click()
{
connect(timer,SIGNAL(timeout()),this,SLOT(count()));
int t =  ui->lineEdit->text().toInt();
timer->start(t);
}

停止按钮
{
    timer->stop();
}
运行时直接报错。
离线jdwx

只看该作者 1楼 发表于: 2011-06-29
还是把代码打包发上来吧
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线eadywen

只看该作者 2楼 发表于: 2011-06-30
connect(timer,SIGNAL(timeout()),this,SLOT(count()));
把这个放到你的构造函数里, 而且你的timer不能是局部的
离线eagle
只看该作者 3楼 发表于: 2011-07-01
我把代码改了下:
bool isTime = true;
void MainWindow::on_pushButton_clicked()
{
    QTimer *timer = new QTimer(this);
    int time = ui->lineEdit->text().toInt();
    if(isTime)
    {
        ui->pushButton->setText(tr("停止"));
        isTime = false;
        timer->start(time);
        connect(timer,SIGNAL(timeout()),this,SLOT(run()));
    }else
    {
        ui->pushButton->setText(tr("开始"));
        isTime = false;
        timer->stop();
    }
}
还是不能停止,2楼的能不能说的具体点,谢谢!
离线eagle
只看该作者 4楼 发表于: 2011-07-01
以下是打包的代码 test.rar (4 K) 下载次数:13
离线jdwx

只看该作者 5楼 发表于: 2011-07-01
改了一下。试试看。
附件: time.rar (5 K) 下载次数:21
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jdwx

只看该作者 6楼 发表于: 2011-07-01
回 4楼(eagle) 的帖子
问题:
重复定义timer
全局变量
多次connect
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线eagle
只看该作者 7楼 发表于: 2011-07-01
可以了,谢谢!
快速回复
限100 字节
 
上一个 下一个