要求20ms重繪頻率,但是在開發板上要運行60ms
#include "widget.h"
#include "ui_widget.h"
#include <QTimer>
#include <QDateTime>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
QTimer *timer=new QTimer();
connect(timer,SIGNAL(timeout()),this,SLOT(update()));
timer->start(20);
}
Widget::~Widget()

{
delete ui;
}
void Widget::paintEvent(QPaintEvent*){
QPainter painter(this);
painter.drawLine(0,0,10,10);
qDebug()<<QDateTime::currentDateTime();
}
uj5u.com熱心網友回復:
update()有減頻率優化的,如果你有強制重繪要求應該用repaint()uj5u.com熱心網友回復:
repaint()也是一樣的,沒差多少。uj5u.com熱心網友回復:
repaint()是立即呼叫paintEvent的,如果還不夠說明是QTimer的slot呼叫達不到你要求的頻次你可以試試把QTimer的timerType設定成Qt::PreciseTimer,如果還不行就說明CPU性能不夠達不到
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/245398.html
標籤:Qt
