我有两个示例,我基本上是在创建包装器对象,而不是理想情况下的简单转换。
如果foo
是QWidget*
较早实例化的,我可以避免QLayout
为它创建一个包装器:
const auto layout = new QVBoxLayout();
layout->addWidget( foo );
const auto frame = new QLabel( QLatin1String( "Why Do I Need a Layout?" ) );
frame->setLayout( layout );
如果foo
是QLayout*
较早实例化的,我可以避免QWidget
为它创建一个包装器:
const auto widget = new QWidget();
widget->setLayout( foo );
const auto tabs = new QTabWidget();
tabs->addTab( widget, QLatin1String( "Why Do I Need a Widget?" ) );