关于一个qt界面的按钮触发另一个界面的问题,急需帮助,谢谢!!
各位前辈,我是才开始学习在vs2008中使用qt写界面,我现在要坐的是,点击主界面的一个按键,打开另外一个界面,我的主界面的代码facerecog.cpp:
FaceRecog::FaceRecog(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
connect(ui.pushButton_5, SIGNAL(clicked()), this, SLOT(myslot()));
}
FaceRecog::~FaceRecog()
{
}
void FaceRecog::myslot()
{
QLabel *label = new QLabel("Hello");
label->show();
qDebug( "Hello");
hello->show();
}
其中的hello是欢迎界面,我的facerecog.h是:
#include <QtGui/QMainWindow>
#include "ui_facerecog.h"
#include "hello.h"
class Hello;
class FaceRecog : public QMainWindow
{
Q_OBJECT
public:
FaceRecog(QWidget *parent = 0, Qt::WFlags flags = 0);
~FaceRecog();
private:
Ui::FaceRecogClass ui;
Hello *hello;
public slots:
void myslot();
};
"hello.h"是:
#include <QtGui/QMainWindow>
#include "ui_hello.h"
namespace Ui {
class Hello;
}
class Hello : public QDialog
{
Q_OBJECT
public:
Hello(QWidget *parent = 0);
~Hello();
//private:
Ui::Hello *ui;
};
#endif // HELLO_H
这样可以编译通过,但是运行的时候出现这样的问题:
FaceRecog.exe 中的 0x650d1311 (QtGuid4.dll) 处最可能的异常: 0xC0000005: 读取位置 0x8b55ffb7 时发生访问冲突
FaceRecog.exe 中的 0x650d1311 (QtGuid4.dll) 处未处理的异常: 0xC0000005: 读取位置 0x8b55ffb7 时发生访问冲突
然后程序中断在qwidget.h的下面位置
inline void show() { setVisible(true); }
请求各位帮忙,先谢谢了