Qt Designer中的connect问题
Qt Designer中的connect问题
在采用手动编程的方式编写了一个界面A;Qt Designer中创建了一个界面B;通过界面A中的一个按钮触发进入B界面。现在想在B界面中进行一些操作,比如点击按钮然后响应一些事件。
现在通过在main函数下直接调用B这个界面,可以实现这些响应,但通过A下的按钮打开B界面,就不能实现这些响应了。这是为什么啊?急!请各位高人指教。文件内容如下;
B类的头文件:
#ifndef B_H
#define B_H
#include "stdafx.h"
#include "ui_b.h"
class B : public QWidget ,private Ui::BClass
{
Q_OBJECT
public:
B(QWidget *parent = 0);
~B();
public slots:
void test(); // Assistant上介绍的一种方法
// void on_Button1_checked(); //Assistant上介绍的另一种方法
private:
Ui::BClass ui;
};
#endif // B_H
B类的构造函数
B::B(QWidget *parent)
: QWidget(parent)
{
QWidget *w = new QWidget;
ui.setupUi(w);
w->show();
connect(ui.Button1,SIGNAL(clicked()),this,SLOT(test()));
}
B中的槽函数1
void B::test()
{
QMessage::information.....// 最简单的一些代码。
}
B中的槽函数2
void B::on_Button1_checked()
{
QMessage::information.....// 最简单的一些代码。
}
A类中按钮对应的槽函数:
void A::Button2()
{
B w;
}