Обычный способ сделать это - подкласс QWidget
(или QFrame
).
class CustomWidget: public QWidget {
Q_OBJECT
CustomWidget(QWidget *parent)
: QWidget(parent) {
combo = new QComboBox(...);
list = new QListWidget(...);
// create the appropriate layout
// add the widgets to it
setLayout(layout);
}
private:
QComboBox *combo;
QListWidget *list;
};
Обрабатывать все взаимодействия между списком и списком в этом пользовательском виджете (путем подключения соответствующих сигналов к соответствующим слотам, возможно, определяя ваши собственные слоты для этого).
Затем вы выставляете поведение / API вашего пользовательского виджета через выделенные сигналы и слоты, возможно имитируя те, что в списке и / или комбо.
Учебное пособие Адресная книга проведет вас через все это, включая создание собственного виджета и определение сигналов и слотов для него.