Я пытаюсь реализовать подкласс QToolBar , в котором его элементы задаются моделью, а не добавляются по отдельности. Это означает, что выбор функций для добавления / удаления элементов (кнопок панели инструментов), таких как addAction, не должен быть общедоступным.
Каков лучший способ унаследовать от этого объекта, но сделать выбор функций закрытым?
Моя лучшая идея сейчас сделать так:
class ToolbarView : public QToolBar
{
Q_OBJECT
public:
explicit ToolbarView(QWidget *parent = 0);
signals:
public slots:
private:
void addAction (QAction *action) {Q_UNUSED(action)};
QAction* addAction (const QString &text) {return QToolBar::addAction(text) ;}
...
QAction* addSeparator() {QToolBar::addSeparator();}
... [list of about 10 of these]
};
Итак, переопределяем все функции, которые не должны быть общедоступными, как частные.
Это хорошая идея или есть лучшие методы?