Fluent-Qt

基础能力

控件归属

了解容器是否会删除你交给它的控件。

归属模式

Expander::setContentWidget()、Field::setEditor()、SplitView::addPane() 和 Accordion::addItem() 等接口都有带 WidgetOwnership 参数的重载。Borrowed:释放后控件没有父对象,宿主不会删除它。Reparented:释放后回到原来的父控件。Owned:由宿主删除。不传该参数时,Expander、Field 和 Accordion 为借用,SplitView::addPane() 则接管所有权。

#include <FluentQt/Layout.h>

expander->setContentWidget(editor, fluent::WidgetOwnership::Borrowed);
// Later, detach without destroying:
QWidget* taken = expander->takeContentWidget();

PySide6

PySide6 提供 setBorrowedContentWidget()、setOwnedContentWidget() 和 setBorrowedEditor() 等明确的方法。借用的无父控件在使用期间要保留 Python 引用。

API 参考