2014-10-09 2 views
3

Я создаю небольшое приложение для применения различных фильтров на изображении с помощью Qt и C++.Несколько виджетов на QDockWidget

Мой вопрос, можно ли добавить несколько виджетов на QDockWidget? Как я хочу добавить кнопки для повторного применения последних 5 фильтров на доке.

Вот пример того, чего я хочу достичь.

Exemple of what i want to achieve

ответ

3

Можно добавить к множеству 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); 
+0

Спасибо! Отлично работает ! – IgZiStO

+0

Можете ли вы предоставить полный код для этого примера, чтобы этот пример можно было построить с нуля? –

+0

@AvnerMoshkovitz Извините, но нет. Это противоречит намерению и цели http://stackoverflow.com. Если у вас есть вопрос о том, как * сделать что-то, что я хотел бы помочь; просто задайте вопрос и свяжите меня с ним. Просить меня сделать что-то для вас совсем другое. Это не учебный сайт или прототип библиотеки. Я сказал бы, что хотел бы помочь. Поэтому я предлагаю начать здесь: http://doc.qt.io/qt-5/qtexamplesandtutorials.html Если после попытки вы все еще боретесь с чем-то конкретным, я бы сказал, что вы готовы спросить как вопрос! –