我正在尝试创建一个简单的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() );
}
答案 0 :(得分:1)
您需要一些超出范围的变量才能访问它。
您的textEdit
是在函数的本地范围内定义的。如果要访问cpp文件的全局空间,可以将其定义为
static QTextEdit *textEdit;
在任何功能之外。
更好的想法可能是将其定义为MainWindow
类的成员变量:
private:
QTextEdit *m_textEdit;
请记住,分配有new
的内存会在delete
之前分配。