我有两个选项卡(QTabWidget(。在第一个选项卡上是选中时的选项,告诉我要发送到第二个选项卡的文本(在 QTextEdit 字段中(。然后我有一个QPush按钮来生成文本。我遇到的问题是将此文本发送到第二个选项卡。
FenPrincipale::FenPrincipale(QWidget *parent) : QWidget(parent)
{
ongletGenerateur = new OngletGenerateur(this);
ongletTexte = new OngletTexte(this);
tabWidget = new QTabWidget;
tabWidget->addTab(ongletGenerateur, "Options de génération");
tabWidget->addTab(ongletTexte, "Texte");
m_generer = new QPushButton("&Générer !");
.
. layout
.
connect(m_generer, &QPushButton::clicked, ongletGenerateur, &OngletGenerateur::genererCode);
}
void OngletGenerateur::genererCode()
{
.
.
.
texte += "some text";
??? how do I send the texte to the second tab (ongletTexte) ???
}
OngletTexte::OngletTexte(QWidget *parent) : QWidget(parent)
{
m_texteGenere = new QTextEdit;
m_texteGenere->setPlainText("Bla, bla, bla"):
.
.
.
}
谢谢!
只需使用一个参数(字符串(在OngletGenerateur
类中创建一个信号。从您的方法发出它。在OngletTexte
中创建槽。然后,将信号和插槽连接在一起FenPrincipale
。
class OngletGenerateur
{
...
signals:
textGenerated(QString);
};
class OngletTexte
{
...
public slots:
void append(QString text)
{
m_texteGenere->append(text);
}
};
FenPrincipale::FenPrincipale(QWidget *parent) : QWidget(parent)
{
connect(ongletGenerateur, &OngletGenerateur::textGenerated, ongletText, &OngletTexte::append);
}