是否有Qt特定的方法來實現獲取者和設置者?也許有Qt宏或類似的東西。獲取者和設置者的首選Qt風格
0
A
回答
2
Q_PROPERTY
從文檔(https://qt-project.org/doc/qt-4.8/properties.html):
Qt提供類似於由一些編譯器供應商提供的那些複雜的屬性的系統。但是,作爲一個獨立於編譯器和平臺的庫,Qt不依賴於像__property或[property]這樣的非標準編譯器功能。 Qt解決方案適用於Qt支持的每個平臺上的任何標準C++編譯器。它基於也通過信號和插槽提供對象間通信的元對象系統。
1
標準的制定者和getter看起來是這樣的:
void YourClass::setSomeValue(const type &newValue) {
if (newValue!=someValue) {
someValue = newValue;
emit someValueChanged(someValue);
// some optional invocations to update sizeHint or schedule widget redrawing ... :
update();
updateGeometry();
}
}
type YourClass::someValue() const {
return someValue;
}
,如果你正在尋找Objcetiveç像@synthesize
有Qt中沒有這樣的事情,但你可以定義自己的宏(我做有時類似的東西)。
相關問題
- 1. 記錄獲取者和設置者
- 2. Lua獲取者和設置者
- 3. ExtJS模型獲取者和設置者
- 4. EntityFramework Code首先對屬性獲取者/設置者做什麼?
- 5. Python的獲取者/設置者
- 6. 無法在Swift中設置獲取者和設置者
- 7. 獲得者,設置者和循環
- 8. 自定義類的獲取者和設置者
- 9. 父類中的獲取者和設置者
- 10. 確定有效的獲取者和設置者
- 11. NodeJs MongoDb沒有獲取者和設置者的結果
- 12. 主義覆蓋關係字段的獲取者和設置者
- 13. 覆蓋子類的所有設置者和獲取者
- 14. slick 2d,Java,動畫獲取者和設置者
- 15. Laravel - 爲獲取者和創建者設置3個函數
- 16. 擴展現有實體以覆蓋獲取者和設置者
- 17. Luabind屬性獲取者和設置者可以產生?
- 18. 抽象類與抽象獲取者和設置者
- 19. Android開發者:避免內部獲取者/設置者?
- 20. 具有地圖的類的獲取者/設置者
- 21. 同步屬性獲得者/設置者
- 22. 重寫繼承的獲取者/設置者
- 23. Haxe到SWC - 受保護的獲取者/設置者
- 24. c中的獲取者和安裝者#
- 25. 設置QT樹莓創作者
- 26. 防止爲@Transient字段生成獲取者/設置者
- 27. 注入/處理屬性獲取者/設置者?
- 28. 受益於Play中產生的獲取者和設置者!框架
- 29. 關於JavaBean屬性的命名,關於獲取者和設置者
- 30. Qt設計師和創作者
這是物質,而不是風格,但感謝有用的模板。 – Bruce
問題是「實現getter和setters的方式」,所以我不明白你的反對意見。 –
我一直在尋找更符合Qt的Q_PROPERTY用法,而不是您的解決方案,它更像香草C++。 – Bruce