跟我一起学QT6:事件处理

0. 源代码下载

1. 事件处理器(定时器的使用)

https://github.com/leichaojian/qt/tree/master/Ticker


1. 事件处理器

1. 程序效果图

跟我一起学QT6:事件处理_第1张图片

2. 关键代码

void Ticker::showEvent(QShowEvent *event)
{
    //每30ms产生一个定时器事件
    myTimerId = startTimer(30);
}

void Ticker::timerEvent(QTimerEvent *event)
{
    //通过offset的增加来实现窗口的滚动
    if (event->timerId() == myTimerId) {
        ++offset;
        if (offset >= fontMetrics().width(text())) offset = 0;
        scroll(-1, 0);
    } else {
        QWidget::timerEvent(event);
    }
}




你可能感兴趣的:(跟我一起学QT6:事件处理)