Qt доступ к тексту TextEdit в другой области видимости

Я пытаюсь создать простую IDE. На данный момент я полностью провалился! У меня есть некоторые действия, и когда я нажимаю на действие «новый», он должен добавить новую страницу в мой TabWidget и создать TextEdit внутри. Это на самом деле работает, но я не знаю, как использовать TextEdit. Например, если я хочу сохранить его, мне нужен доступ к тексту textEdit, но как?

Код:

void MainWindow::on_actionNew_triggered()
{
QTextEdit* textEdit = new QTextEdit();
ui->Tabs->addTab(textEdit, "New Tab");
ui->Tabs->setCurrentIndex( ui->Tabs->count() );
}

1

Решение

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

Ваш textEdit определяется в локальной области действия функции. Если вы хотите получить доступ, например, к глобальному пространству файла cpp, вы можете определить его как

static QTextEdit *textEdit;

вне какой-либо функции.

Лучшей идеей может быть определение его как переменной-члена MainWindow учебный класс:

private:
QTextEdit *m_textEdit;

Помните, что память выделяется new выделяется до вас delete Это.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]