Qt将GUI类中的方法连接到另一个类中的插槽

时间:2014-10-21 19:51:13

标签: c++ qt

我在GUI课程中有一个方法,我想用它作为另一种方法的信号。

    Transition::void giveInputs(QString foldername,QString start, 
                               QString end,QString skipIndex){}

插槽具有相同的参数,但在Worker类中。我如何才能在这两者之间建立联系?我知道下半场会是:

...worker, SLOT(receiveInputs(QString foldername,QString start, 
                               QString end,QString skipIndex))

我不知道如何设置信号。任何有关良好资源的建议或链接都​​将受到赞赏。

这是Transition类的构造方式。 (来自默认的QtWidget格式)

Transition::Transition(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Transition)
{
    ui->setupUi(this);
}

据我所知,我不能在程序的后期执行Transition t * = new Transition。

1 个答案:

答案 0 :(得分:2)

Transition *t = new Transition(...);
Worker *w = new Worker(...);
QObject::connect( t, SIGNAL( giveInputs(QString,QString,QString,QString)),
                        w, SLOT( giveInputs(QString,QString,QString,QString)));

如果您尝试从Transition类内部创建连接,那么您可以使用

QObject::connect( this, SIGNAL( giveInputs(QString,QString,QString,QString)),
                        w, SLOT( giveInputs(QString,QString,QString,QString)));

http://qt-project.org/doc/qt-4.8/signalsandslots.html