斩天堑 2015-10-16 02:51 采纳率: 0%
浏览 2430

Qt 怎么在两个对话框之间传递

求大神帮忙看看,为什么点击changeInDialog.ui的确定按钮,ChangeConfig不能输出123呢?

定义了两个对话框changeindialog和ChangeConfig,我想实现点击changeInDialog.ui的确定按钮,ChangeConfig.ui对话框响应并输出123。

#ifndef CHANGEINDIALOG_H
#define CHANGEINDIALOG_H

#include
#include "ui_changeindialog.h"

class changeInDialog : public QDialog
{
Q_OBJECT

public:
changeInDialog(QWidget *parent = 0);
~changeInDialog();

public slots:
void shownames();

signals:
void cop();

public:
Ui::changeInDialog ui1;
};

#endif // CHANGEINDIALOG_H

#include "changeindialog.h"
#include "changeconfig.h"
#include "qdebug.h"
#include "qstring.h"

changeInDialog::changeInDialog(QWidget *parent)
: QDialog(parent)
{

ui1.setupUi(this);

connect(ui1.pushOK,SIGNAL(clicked()),this,SLOT(shownames()));

}

void changeInDialog::shownames()
{
emit cop();
}

changeInDialog::~changeInDialog()
{

}

#ifndef CHANGECONFIG_H
#define CHANGECONFIG_H

#include
#include "ui_changeconfig.h"

class ChangeConfig : public QDialog
{
Q_OBJECT

public:
ChangeConfig(QWidget *parent = 0, Qt::WFlags flags = 0);
~ChangeConfig();

public slots:

void display();

public:
Ui::ChangeConfigClass ui;
};

#endif // CHANGECONFIG_H

#include "changeconfig.h"
#include "changeindialog.h"
#include "qdebug.h"

ChangeConfig::ChangeConfig(QWidget *parent, Qt::WFlags flags)
: QDialog(parent, flags)
{
ui.setupUi(this);
changeInDialog cconfigIn;
connect(&cconfigIn,SIGNAL(cop()),this,SLOT(display()));
}

void ChangeConfig::display()
{

qDebug()<<123;

}

ChangeConfig::~ChangeConfig()
{

}

  • 写回答

1条回答

  • lx624909677 2015-10-16 04:19
    关注

    信号和槽写在不同的窗体类里就可以了

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能