Russian Qt Forum

Qt => Общие вопросы => Тема начата: amago от Июнь 03, 2010, 15:53



Название: Qt: Доступ к активному окну из другого класса
Отправлено: amago от Июнь 03, 2010, 15:53
Я немного не в ладах с объктно-ориентированным програмированнием и потому возникает сложность:

Есть класс Editor, фактически ртф-редактор, использующий QTextEdit,

Я создал класс TextAnalys, он должен служить для анализа текста и выделять цветом проблемные места.

В нем пока единственный упрощенный метод:
Код C++1
2
3
4
5
6
7
8   
 void TextAnalys :: analys()
{
Editor * e= new Editor;
QTextEdit* textEdit = (QTextEdit*)e->tabWidget->currentWidget();
textEdit->setTextColor(Qt::red);
}
 

его вызов из Editor:
Код C++1
2
3
4
5
6   
TextAnalys * c = new TextAnalys();
        c->actionAnalys =new QAction("Analys",this );
        c->actionAnalys->setShortcut(QKeySequence("Alt+A"));
        connect(c->actionAnalys, SIGNAL(triggered()),c, SLOT(analys()));
 

Но таким образом цвет текста не изменяется. Возможно потому что я создаю новый объект класса Editor, который к редактированию текста в окне программы вообще никак не относится)))

Помогите, пожалуйста, как из класса TextAnalys редактировать текст в текущем табе?
Конечно легко можно просто сделать это все в Editor, но это уже наверное не совсем ООП)))