简体   繁体   English

(Qt) QTabWidget 和 QPlainTextEdit

[英](Qt) QTabWidget et QPlainTextEdit

Good evening,晚上好,

I am stuck on a problem with QTabWidget.我遇到了 QTabWidget 的问题。 I would like to recover the content of QPlainTextEdit which is only found in the tab chosen and displayed this in the terminal using the btnT button.我想恢复 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;
}

Thanks in advance: D.提前致谢。

I was able to solve it here is the code for people who have the same problem :D.我能够在这里解决它,这是为有同样问题的人提供的代码: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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM