c++ - (Qt) QTabWidget 和 QPlainTextEdit
问题描述
晚上好,
我遇到了 QTabWidget 的问题。我想恢复 QPlainTextEdit 的内容,该内容只能在选择的选项卡中找到,并使用 btnT 按钮在终端中显示。
EditorText::EditorText()
{
QHBoxLayout *layout = new QHBoxLayout(this);
onglets = new QTabWidget;
QPushButton *btn = new QPushButton("Hello");
QPushButton *btnT = new QPushButton("TWO");
connect(btn, SIGNAL(clicked()), this, SLOT(addOnglet()));
connect(btnT, SIGNAL(clicked()), this, SLOT(addText()));
layout->addWidget(btn);
layout->addWidget(btnT);
layout->addWidget(onglets);
}
void EditorText::addOnglet()
{
onglets->addTab(new QPlainTextEdit, QString::number(onglets->count() + 1));
onglets->setCurrentIndex(onglets->count() - 1);
}
void EditorText::addText()
{
QPlainTextEdit *w = onglets->widget(onglets->currentIndex())->findChild<QPlainTextEdit *>();
std::cout << w->toPlainText().toStdString() << std::endl;
}
先谢谢了。
解决方案
我能够在这里解决它是有同样问题的人的代码:D。-->
void EditorText::addTabPrincipal()
{
QWidget *m_widPrin = new QWidget;
QPlainTextEdit *aa = new QPlainTextEdit(m_widPrin );
m_principalTabOnglets->addTab(m_widPrin , QString::number(m_principalTabOnglets->count() + 1));
m_principalTabOnglets->setCurrentIndex(m_principalTabOnglets->count() - 1);
}
void EditorText::abstPrintTerminalText()
{
QPlainTextEdit *w = m_principalTabOnglets->widget(m_principalTabOnglets->currentIndex())->findChild<QPlainTextEdit *>();
std::cout << w->toPlainText().toStdString() << std::endl;
}