我正在为Qt gui应用程序编写插件。我只知道顶层窗口的QWidget指针,而且我对窗口的布局没有特别的了解。
是否有一种简单的方法可以将窗口小部件添加到此窗口,例如占用窗口的底部,就像工具栏一样?
也许将所有窗口内容移动到新的QWidget(a),并使用vbox布局创建另一个QWidget(b)以包含(a)和我的新工具栏QWidget。听起来不太容易......也许有一个更简单的解决方案?
编辑:是否有像Spy++这样的工具可以在运行时显示Qt小部件布局?答案 0 :(得分:0)
如果您可以获得QWidget*
.layout()
,则QVBoxLayout
您可以将该布局添加到void addWidget() {
QWidget* mainwindow = getMainWindow();
auto* newLayout = new QVBoxLayout(mainwindow);
auto* oldLayout = mainwindow.layout();
auto* toolbar = getToolbar(mainwindow);
mainwindow.setLayout(newLayout);
int stretchMainWindow=1;
int stretchToolbar=0;
newLayout->addLayout(oldLayout, stretchMainWindow);
newLayout->addWidget(toolbar, stretchToolbar);
}
的顶部,并将您的小部件添加到底部。
类似的东西:
[
{
"$match": {
"indicesId": "VUSSTAPNETFF"
}
},
{
"$unwind": "$dataSets"
},
{
"$match": {
"dataSets.date": {
"$lte": ISODate("2013-12-31T18:30:00.000Z"),
"$gte": ISODate("2008-12-31T18:30:00.000Z")
}
}
},
{
"$group": {
"_id": "$indicesId",
"mean": {
"$avg": "$dataSets.data"
},
"indices": {
"$push": "$$ROOT"
}
}
},
{
"$unwind": "$indices"
},
{
"$project": {
"_id": 1,
"mean": 1,
"firstResult": {
"$multiply": [
{
"$subtract": [
"$indices.dataSets.data",
"$mean"
]
},
{
"$subtract": [
"$indices.dataSets.data",
"$mean"
]
}
]
}
}
},
{
"$group":{
"_id":"",
"secondResult": {
"$avg": "$firstResult"
},
"mean":{
"$first": "$mean"
}
}
},
{
"$project":{
"data":{
"$sqrt":"$secondResult"
},
"mean": "$mean"
}
}
]
免责声明:这是未经测试的