标题:为什么我自定义的槽无法执行?(附代码)
作者:坤义
日期:2006-03-27 09:41
内容:
/////////////////ZhjbMainWindow.h//////////////
#ifndef ZHJBMAINWINDOW_H
#define ZHJBMAINWINDOW_H
#include
#include "ui_MainWindow.h"
class ZhjbMainWindow : public QMainWindow, public Ui::MainWindow
{
public:
ZhjbMainWindow();
~ZhjbMainWindow();
public slots:
void BeginFun();
};
#endif
//////////////////ZhjbMainWindow.cpp//////////////
#include
#include "ZhjbMainWindow.h"
ZhjbMainWindow::ZhjbMainWindow()
{
setupUi(this);
//EXA_A 是一个按扭
QObject::connect(EXA_A, SIGNAL(clicked()), this, SLOT(BeginFun()));
}
void ZhjbMainWindow::BeginFun()
{
QMessageBox::information(this, tr("call slot"),
tr("successfull !"));
}
点击按扭后没有任何反应,不知哪有问题?
#1 [wangqinyin 03-27 09:57]
你的ZhjbMainWindow类的头文件中没有加Q_OBJECT
加上之后再试试.
另外你为什要用多重继承呀?
#2 [坤义 03-27 10:05]
引用第1楼wangqinyin于2006-03-27 09:57发表的“”:
你的ZhjbMainWindow类的头文件中没有加Q_OBJECT
加上之后再试试.
另外你为什要用多重继承呀?
我加上Q_OBJECT后编译就会出一堆的错:
我是在WINDOW用QT designer做的界面,我要派生出我自己的类
#3 [坤义 03-27 10:23]
不知到为什么 重新生成Makefile文件后 再编译就好了
多谢 wangqinyin 兄
#4 [wangqinyin 03-27 10:27]
那你得用moc编译你的头文件呀,或者打开你的ZhjbMainWindow.h,然后点击VC中的Qt工具栏上的Add MOC,
这样你的工程中才会产生一个moc_ZhjbMainWindow.cpp,这样编译之后才不会出错.
关于多重继承的那个,返正我不喜欢用,也许你是对的.
#5 [wangqinyin 03-27 10:30]
不用谢,我也常遇到问题,都是程序员吗,我能体会的到你的心情.