QT里滚动字幕怎么做?
请问,QT里滚动字幕怎么做?就是从一个文本文件中读出字符串,然后显示出来,不过要不停的滚动显示。
------解决方案--------------------
重新实现paintevent,使用drawText方法
------解决方案--------------------
animation
------解决方案--------------------
请问,QT里滚动字幕怎么做?就是从一个文本文件中读出字符串,然后显示出来,不过要不停的滚动显示。
------解决方案--------------------
重新实现paintevent,使用drawText方法
------解决方案--------------------
animation
------解决方案--------------------
-
C/C++ code
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTimer> #include <string> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); protected slots: void TimeOut(); private: QTimer *timer; std::string temp_str; int pos; Ui::MainWindow *ui; }; #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent): QMainWindow(parent),ui(new Ui::MainWindow) { ui->setupUi(this); timer=new QTimer(this); QObject::connect(timer,SIGNAL(timeout()),this,SLOT(TimeOut())); timer->start(500); temp_str="hello,world,this is scroll text!!"; pos=0; } void MainWindow::TimeOut() { if(pos>temp_str.length()) pos=0; ui->label->setText(temp_str.substr(pos).c_str()); pos++; } MainWindow::~MainWindow() { delete ui; }