我正在尝试创建一个简单的 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() );
}
最佳答案
您需要一些超出范围的变量才能访问它。
您的 textEdit
是在函数的局部范围内定义的。例如,如果您想访问 cpp 文件的全局空间,您可以将其定义为
static QTextEdit *textEdit;
在任何函数之外。
更好的想法可能是将其定义为 MainWindow
类的成员变量:
private:
QTextEdit *m_textEdit;
请记住,使用new
分配的内存会一直分配到您delete
它为止。
关于c++ - Qt 在其他范围内访问 TextEdit 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16326849/