Множество уиджети на QDockWidget

Създавам малко приложение за прилагане на различни филтри върху изображение с помощта на Qt и C++.

Въпросът ми е, възможно ли е да добавя няколко джаджи към QDockWidget? Тъй като искам да добавя бутони за повторно прилагане на последните 5 филтъра на дока.

Ето пример за това, което искам да постигна.

Пример за това, което искам да постигна


person IgZiStO    schedule 09.10.2014    source източник


Отговори (1)


Възможно е добавяне към множество QWidget във всеки 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);
person Jonathan Mee    schedule 09.10.2014
comment
Можете ли да предоставите пълния код за този пример, така че примерът да може да бъде изграден от нулата? - person Avner Moshkovitz; 16.01.2018
comment
@AvnerMoshkovitz Съжалявам, но не. Това противоречи на намерението и целта на stackoverflow.com Ако имате въпрос относно как да направите нещо, бих се радвал да помогна; просто задайте въпрос и ме свържете с него. Да ме помолиш да направя нещо за теб е съвсем различно. Това не е сайт с уроци или библиотека с прототипи. Това каза, че бих искал да помогна. Така че предлагам да започнете от тук: doc.qt.io/qt-5/qtexamplesandtutorials. html Ако след като сте опитали, все още се борите да постигнете нещо конкретно, бих казал, че сте готови да зададете въпрос как! - person Jonathan Mee; 16.01.2018
comment
Би било интересно да се знае дали оформление може да се добави директно към джаджата на дока. В този случай multiWidget не се изисква, а само layout. Изглежда, че това не е възможно, за разлика от други производни класове на Widget. - person mins; 14.06.2021