?? ticker.cpp
字號:
#include <QtGui>#include "ticker.h"Ticker::Ticker(QWidget *parent) : QWidget(parent){ offset = 0; myTimerId = 0;}void Ticker::setText(const QString &newText){ myText = newText; update(); updateGeometry();}QSize Ticker::sizeHint() const{ return fontMetrics().size(0, text());}void Ticker::paintEvent(QPaintEvent * /* event */){ QPainter painter(this); int textWidth = fontMetrics().width(text()); if (textWidth < 1) return; int x = -offset; while (x < width()) { painter.drawText(x, 0, textWidth, height(), Qt::AlignLeft | Qt::AlignVCenter, text()); x += textWidth; }}void Ticker::showEvent(QShowEvent * /* event */){ myTimerId = startTimer(30);}void Ticker::timerEvent(QTimerEvent *event){ if (event->timerId() == myTimerId) { ++offset; if (offset >= fontMetrics().width(text())) offset = 0; scroll(-1, 0); } else { QWidget::timerEvent(event); }}void Ticker::hideEvent(QHideEvent * /* event */){ killTimer(myTimerId);}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -