簡體   English   中英

從QObject中刪除動態屬性

[英]Remove dynamic properties from QObject

有沒有辦法刪除分配給QObject所有動態屬性?

嘗試這個:

for (auto const &name : object->dynamicPropertyNames())
{
    object->setProperty(name.constData(), {});
}
Q_ASSERT(object->dynamicPropertyNames().empty());

這將迭代所有動態屬性並設置空的QVariant值。 如果斷言失敗,那么這是一個Qt錯誤,因為文檔說:

http://doc.qt.io/qt-5/qobject.html#dynamic-properties

從Qt 4.2開始,可以在運行時向QObject實例添加和刪除動態屬性。

可以通過將屬性值設置為無效的QVariant來刪除動態屬性....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM