gpt4 book ai didi

c++ - QLayout 和 QWidget 之间的转换

转载 作者:行者123 更新时间:2023-11-28 02:46:24 24 4
gpt4 key购买 nike

我有两个示例,其中我基本上是在创建包装器对象,而不是理想情况下的简单转换。

如果 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?" ) );

最佳答案

总是可以编写自己的包装函数:

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;
}

关于c++ - QLayout 和 QWidget 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24262564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com