--------------------------------image.h------------------------------------
Q_PROPERTY(QString strData MEMBER m_strData NOTIFY strDataChanged)
protected:
QString m_strData;
signals:
void strDataChanged(QString);
------------------------------------image.cpp----------------------------------------
testTimer5s->start(100);
connect(testTimer5s, SIGNAL(timeout()), this, SLOT(getEmitData(/*QString*/)));
void CarStatus:: getEmitData(/*QString data*/){
qDebug()<<"write start------";
num++;
QFile file(":/classicLeftImages/images/classic_images/leftImage/rpm"+QString::number(num)+".png");
file.open(QIODevice::ReadOnly);
int length ;
QByteArray imageData;
imageData = file.readAll();
length = imageData.length();
//qDebug()<<imageData;
QFile filew("/home/ymk/testImage/rpm"+QString::number(num)+".png");
if (filew.open(QIODevice::Append))
filew.write(imageData);
file.close();
qDebug()<<"write finish";
qDebug()<<"num="<<num;
m_strData = "file:///home/ymk/testImage/rpm"+QString::number(num)+".png";
emit strDataChanged(m_strData);
imageData.clear();
if(num==7)
num=0;
}
----------------------------image.qml--------------------------
property string imageUrl:HtCarStatus.strData
Image {
id: imageW
anchors.centerIn: parent
source: imageUrl
}
本文介绍了一个使用Qt实现的定时任务案例,通过定时器每隔一段时间更新图像文件路径,并触发信号通知UI更新显示新的图像。该案例涉及Qt属性、信号槽机制及文件操作。

被折叠的 条评论
为什么被折叠?



