Как обрабатывать сигналы в подклассе Qt? - PullRequest
10 голосов
/ 09 июня 2010

Как мне обработать сигнал в подклассе? Допустим, мой подкласс получен из QTextEdit и заинтересован в сигнале textChanged. Кажется глупым связывать объект с самим собой, я должен иметь возможность просто переопределить метод textChange, но это не virtual.

Каков приемлемый способ сделать это?

Ответы [ 3 ]

11 голосов
/ 09 июня 2010

Нельзя реализовать / переопределить сигнал, поэтому единственный способ - создать новый слот и подключить его к textChanged ():

connect( this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );
2 голосов
/ 09 июня 2010

Возможно, это кажется глупым, но я так и сделал: подключил свой производный класс к сигналу, исходящему из родительского класса.

Но мне интересно, есть ли другие решения!

1 голос
/ 09 июня 2010

Это нормально для подключения сигнала к слоту того же класса.Так что реализуйте свой слот и подключите его к textChanged(QString)

...