主对话框,show()了一个子对话框,子对话框得到字符串,我想通过emit方式操作主对话框上的lineEdit控件让其显示得到的字符串。
不同类之间如何emit啊?
初学Qt,signal和slot不是很理解, 以下方法行不通..
子对话框test.h:
signals:
void add(QString x);
public slots:
void send(void);
test.cpp
test::test(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
QRect rect = pMainDlg->frameGeometry();
this->move(rect.x()+rect.width(), rect.y());
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(send(void)));
connect(this, SIGNAL(add(QString x)), pMainDlg, SLOT(pMainDlg->onadd(QString x)));
}
void test::send(void)
{
emit add("hello");
}
主对话框Qttest.h
public slots:
void onadd(QString x);
Qttest.cpp
void Qttest::onadd(QString x)
{
QMessageBox::about(this, "OK", x);
}