Qt 侵入式集成了树型的内存管理。这个可能跟 Rust 有冲突。
比如 QDialog 底下有个 “确定” QPushButton. QDialog 拥有它底下所有控件的所有权。当 QDialog 被关闭时,它底下的所有控件也会被删除。这个是隐式的。跟 C++ 之外的语言有经常会有冲突。比如 PyQt 也得针对这个行为写代码。否则会导致程序崩溃。
【 在 z16166 的大作中提到: 】
: Rust已经可以使用QML了,因为支持QML所要支持的C++ surface小。比如qmetaobject-rs,或者官方的Qt Bridges。
: 不过这个主要是给熟悉QML的人用的,因为对于不执着于QML的人,他用Rust + webview(Tauri)跟用Rust + QML是一样的。
: Rust也可以使用Qt Widgets,只是会比较麻烦点,因为Qt用的C++的继承,Rust是接口组合。
: ...................
--
修改:hgoldfish FROM 121.207.53.*
FROM 121.207.53.*