QTabWidget — Как мне отредактировать каждый виджет отдельно?

Я нахожусь в процессе изучения Qt и вообще C ++, и я застрял в этой проблеме. Надеюсь, будет просто ответить.

у меня есть QTextEdit созданный этим кодом:

void MainWindow::on_actionNewtab_triggered()
{
ui->tabWidget->addTab(new QTextEdit, "Untitled Document");
}

Теперь, если я сделаю три вкладки, я не уверен, как редактировать QTextBox текущей вкладки, которая выбрана. Я посмотрел в документации (что очень хорошо), и я думаю, что мне нужно этот, но я не уверен как. Я также нашел этот на этом сайте, но, кажется, редактировать все QTextEdits?

Ответ, вероятно, очень прост, и я просто что-то упускаю :). Пожалуйста, дайте мне знать, если вам нужно больше деталей.

0

Решение

Вы можете перейти к редактированию текста напрямую с помощью этого:

qobject_cast<QTextEdit*>(ui->tabWidget->currentWidget())->SetText("my text");

0

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

Сохранить указатель на желаемый QTextBox и отредактируйте его как хотите.

QTextEdit *myTextEdit;

void MainWindow::on_actionNewtab_triggered()
{
myTextEdit = new QTextEdit;
ui->tabWidget->addTab(myTextEdit, "Untitled Document");
}

Вы также можете использовать QTabWidget::widget() а также QTabWidget::currentWidget() чтобы получить указатель на ваш виджет после создания, но вы должны сначала привести результат к фактическому типу.

1

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