QT 中setUserData和setProperty問題


在5.9的官方文檔里是找不到QObject中的setUserData 的,相反他提供了setProperty().

void setUserData(uint id, QObjectUserData *data); 這個使用QObjectUserData *userData(uint id)const 來獲取數據

bool QObject::setProperty(const char *name, const QVariant &value); 這個使用QVariant QObject::property(const char *name) const 來獲取數據

在5.9中是找不到userdata的相關表述的,他是通過一個QT_NO_USERDATA 宏進行判斷來打開的. 可能是為了兼容以往的版本 

#ifndef QT_NO_USERDATA 
static uint registerUserData(); 
void setUserData(uint id, QObjectUserData* data); 
QObjectUserData* userData(uint id) const; 
#endif // QT_NO_USERDATA

  這個是QT4.4版本中的描述

所以,在后續版本中應當使用setProperty


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM