|
1Qter豆
//pi_show.hpp
#include <QObject>
#include <QDialog>
class pi_show : public QObject {
Q_OBJECT
public:
pi_show(QObject * parent = Q_NULLPTR);
public slots://自定义的槽
int pi_show::myshow();
};
//pi_show.cpp
#include "pi_show.hpp"
#include"highgui.h"
pi_show::pi_show(QObject * parent)
: QObject(parent)
{
}
int pi_show::myshow()
{
int argc;
char** argv;
IplImage* img = cvLoadImage("E://Qtproject//exp2//exp2//Example1.jpg");
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
return 0;
}
//main.cpp
#include <QApplication>
#include <QPushButton>
#include<QProcess>
#include"pi_show.hpp"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("show");//定义一个按键
pi_show pa;
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(pa.myshow()));
button->show();
return app.exec();
}
请问这样子自定义槽函数有错吗?为什么按下按键没有进入自定义的槽?这是在VS2015上写的,新手求指导!!!
|
最佳答案
查看完整内容
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(pa.myshow()));
这句改为 QObject::connect(button, SIGNAL(clicked()), &pa, SLOT(myshow()));
|