我有两个示例,基本上是创建包装器对象,而不是理想的简单转换。
如果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?" ) );发布于 2014-06-24 12:05:37
小部件不必有布局。通过将小部件设置为父部件,您可以将子部件添加到小部件中。但是,您必须手动调整子部件的大小和位置。
发布于 2014-06-17 14:00:05
只需编写您自己的包装函数:
QLayout* wrap(QWidget* w){
auto layout = new QVBoxLayout();
layout->addWidget( w );
return layout;
}
QWidget* wrap(QLayout* l){
auto widget = new QWidget();
widget->setLayout( l );
return widget;
}https://stackoverflow.com/questions/24262564
复制相似问题