【发布时间】:2014-12-04 06:54:43
【问题描述】:
我正在制作一个小应用程序,用于使用 Qt 和 C++ 在图像上应用各种滤镜。
我的问题是,是否可以在 QDockWidget 上添加多个 widgets ? 因为我想添加按钮以重新应用扩展坞上的最后 5 个过滤器。
这是我想要实现的一个示例。
【问题讨论】:
标签: c++ layout widget qwidget qdockwidget
我正在制作一个小应用程序,用于使用 Qt 和 C++ 在图像上应用各种滤镜。
我的问题是,是否可以在 QDockWidget 上添加多个 widgets ? 因为我想添加按钮以重新应用扩展坞上的最后 5 个过滤器。
这是我想要实现的一个示例。
【问题讨论】:
标签: c++ layout widget qwidget qdockwidget
可以将多个QWidgets 添加到任何QWidget。
看起来你可能想做这样的事情:
QDockWidget dock(QLatin1String("Last filters"));
QWidget* multiWidget = new QWidget();
QVBoxLayout* layout = new QVBoxLayout();
QPushButton* filter1 = new QPushButton(QLatin1String("Filter number 1"));
QPushButton* filter2 = new QPushButton(QLatin1String("Filter number 2"));
QPushButton* filter3 = new QPushButton(QLatin1String("Filter number 3"));
QPushButton* filter4 = new QPushButton(QLatin1String("Filter number 4"));
QPushButton* filter5 = new QPushButton(QLatin1String("Filter number 5"));
QLabel* label = new QLabel(QLatin1String("QPushButtons"));
layout->addWidget(filter1);
layout->addWidget(filter2);
layout->addWidget(filter3);
layout->addWidget(filter4);
layout->addWidget(filter5);
layout->addWidget(label);
multiWidget->setLayout(layout);
dock.setWidget(multiWidget);
【讨论】:
multiWidget,只需要layout。与其他 Widget 派生类相反,这似乎是不可能的。