• 4951阅读
  • 3回复

[提问]信号与槽之间的怪事。。。 [复制链接]

上一主题 下一主题
离线zyppjq
 

只看楼主 正序阅读 楼主  发表于: 2011-08-04
我现在需要在程序中建立一个信号与槽的机制,方法都是按照以前的做法来进行的,可就是没能触发槽函数的执行,各位大侠帮忙看看,我是实在找不出问题所在了。我在类startwindow里实例化了类对象arrange,并定义了槽函数,代码如下:
private:                                            //这是在startwindow.h中的
    Ui::startwindow *ui;
    Widget    w;
    arrange   arrange1;
    QSqlTableModel   *model;  
private slots:
    void on_pushButton_clicked();
    void reciveWaveTest(QByteArray str);
然后在类arrange里定义了信号函数,并发送信号,代码如下:
//这是在arrange.h中的
signals:
    void sendWaveTest(QByteArray str);    
//这是在arrange.cpp里一个函数中发射的信号                
    str = waveTest[2];
        emit sendWaveTest(str);
最后在startwindow.cpp中实现connect和槽函数:
connect(&arrange1 , SIGNAL(sendWaveTest(QByteArray)), this, SLOT(reciveWaveTest(QByteArray)));                 //构造函数中
//下面是槽函数
void startwindow::reciveWaveTest(QByteArray str)
{
    qDebug()<<"波长检测回传结果为:"<<str;
}

我的实现方法都和以前的做法一样,这里唯一的区别就是类startwindow是主界面,在main.cpp中实例化的。请各位路过的大侠帮忙指点指点吧,困惑我很久了。。。



离线zyppjq

只看该作者 3楼 发表于: 2011-08-05
问题解决了,不是这个信号和槽方法实现的问题,而是我程序其他的部分影响到了这部分。
离线zyppjq

只看该作者 2楼 发表于: 2011-08-04
回 1楼(pan356) 的帖子
头文件都包含了的,他们都是继承的QWidget类。
离线pan356
只看该作者 1楼 发表于: 2011-08-04
在startwindow中包含arrange的头文件没有??startwindow和arrange分别继承的是什么类?
快速回复
限100 字节
 
上一个 下一个