• 7277阅读
  • 5回复

为什么我自定义的槽无法执行?(附代码) [复制链接]

上一主题 下一主题
离线坤义
 
只看楼主 倒序阅读 楼主  发表于: 2006-03-27
/////////////////ZhjbMainWindow.h//////////////

#ifndef   ZHJBMAINWINDOW_H
#define   ZHJBMAINWINDOW_H

#include <QMainWindow>

#include "ui_MainWindow.h"

class ZhjbMainWindow : public QMainWindow, public Ui::MainWindow
{
public:
  ZhjbMainWindow();
  ~ZhjbMainWindow();
public slots:
  void BeginFun();
};

#endif

//////////////////ZhjbMainWindow.cpp//////////////
#include <QtGui>
#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 !"));
}


点击按扭后没有任何反应,不知哪有问题?
[ 此贴被XChinux在2006-03-27 12:44重新编辑 ]
离线wangqinyin

只看该作者 1楼 发表于: 2006-03-27
你的ZhjbMainWindow类的头文件中没有加Q_OBJECT
加上之后再试试.
另外你为什要用多重继承呀?
离线坤义
只看该作者 2楼 发表于: 2006-03-27
引用第1楼wangqinyin2006-03-27 09:57发表的“”:
你的ZhjbMainWindow类的头文件中没有加Q_OBJECT
加上之后再试试.
另外你为什要用多重继承呀?


我加上Q_OBJECT后编译就会出一堆的错:


我是在WINDOW用QT designer做的界面,我要派生出我自己的类
离线坤义
只看该作者 3楼 发表于: 2006-03-27
不知到为什么 重新生成Makefile文件后 再编译就好了

多谢 wangqinyin 兄
离线wangqinyin

只看该作者 4楼 发表于: 2006-03-27
那你得用moc编译你的头文件呀,或者打开你的ZhjbMainWindow.h,然后点击VC中的Qt工具栏上的Add MOC,
这样你的工程中才会产生一个moc_ZhjbMainWindow.cpp,这样编译之后才不会出错.

关于多重继承的那个,返正我不喜欢用,也许你是对的.
离线wangqinyin

只看该作者 5楼 发表于: 2006-03-27
不用谢,我也常遇到问题,都是程序员吗,我能体会的到你的心情.
快速回复
限100 字节
 
上一个 下一个