QT屏幕重绘——滚动字幕

 widget.h:

#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
#include<QPainter>
#include<QPaintEvent>
#include<Qtime>
#include<Qtimer>
 
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    Widget(QWidget *parent = 0);
    ~Widget();
protected:
    void paintEvent(QPaintEvent *);
    void timerEvent(QTimerEvent * event);
private:
 
   int x1,y1,x2,y2;
 
 
};
 
#endif // WIDGET_H
 

widget.cpp:

#include "widget.h"
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
 
x1=0;
y1=200;
x2=50;
y2=100;
startTimer(20);
 
}
 
Widget::~Widget()
{
 
}
void Widget::paintEvent(QPaintEvent *)
{
this->resize(800,600);
QPainter painter(this);
QFont font("宋体",20,QFont::Bold,true);
font.setUnderline(true);
font.setOverline(true);
painter.setPen(Qt::red);
painter.setFont(font);
painter.drawText(x1,y1,"欢迎光临");
//painter.drawLine(x1,y1,x2,y2);
 
}
void  Widget::timerEvent(QTimerEvent * event)
{
 
x1+=5;
x2+=5;
//repaint();
update();
 
}
 

猜你喜欢

转载自blog.csdn.net/lannister_awalys_pay/article/details/81354852