Ответ 1
Вы не можете реализовать/переопределить сигнал, поэтому единственный способ - создать новый слот и подключить его к textChanged():
connect( this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );
Как обрабатывать сигнал в подклассе? Скажем, мой подкласс получен из QTextEdit
и интересуется сигналом textChanged
. Кажется глупым связать объект с собой, я должен просто переопределить метод textChange
, но это не virtual
.
Каков приемлемый способ сделать это?
Вы не можете реализовать/переопределить сигнал, поэтому единственный способ - создать новый слот и подключить его к textChanged():
connect( this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );
Возможно, это кажется глупым, но так, как я это сделал: подключение моего производного класса к сигналу, излучаемому родительским классом.
Но мне интересно, есть ли другие решения!
Совершенно нормально подключить сигнал к слоту в том же классе.
Итак, внесите свой слот и подключите его к textChanged(QString)