Нужно наследовать класс от QTextEdit, в котором переопределить wheelEvent (QWheelEvent e), а из своего класса транслировать событие в QScrollArea. В общем, как-то так:
MyTextEdit.h
C++ (Qt)
class MyTextEdit : public QTextEdit
{
Q_OBJECT
public:
explicit MyTextEdit(QWidget *parent = 0);
protected:
void wheelEvent(QWheelEvent *e);
};
MyTextEdit.cpp
C++ (Qt)
MyTextEdit::MyTextEdit(QWidget *parent) :
QTextEdit(parent)
{
}
void MyTextEdit::wheelEvent(QWheelEvent *e)
{
QApplication::sendEvent(this->parent(),e);
}
и добавление в QScrollArea как-то так:
C++ (Qt)
QWidget *w=new QWidget();
w->setGeometry(QRect(0,0,800,500));
MyTextEdit *e1 = new MyTextEdit (w);
e1->setGeometry(QRect(10,10,100,30));
MyTextEdit *e2 = new MyTextEdit (w);
e2->setGeometry(QRect(10,50,100,30));
scrollArea->setWidget(w);