Qt:QObject::connect:无法连接(空)

标签 qt qt4 qt-creator

我正在尝试连接来自 QProcess 的信号在我的 mainwindow()反对另一个 QObject我的基础类(class) mainwindow()对象,但我收到此错误:

QObject::connect: Cannot connect (null)::readyReadStandardOutput () to (null)::logReady()

这是代码,无论如何它都不完整,但我不知道为什么它不起作用。

exe进程文件
#ifndef EXEPROCESS_H
#define EXEPROCESS_H

#include <QObject>


class exeProcess : public QObject
{
     Q_OBJECT
public:
    explicit exeProcess(QObject *parent = 0);

signals:
    void outLog(QString outLogVar); //will eventually connect to QTextEdit

public slots:
    void logReady();

};

#endif // EXEPROCESS_H

exe进程文件
#include "exeprocess.h"

exeProcess::exeProcess(QObject *parent) :
    QObject(parent)
{
}

void exeProcess::logReady(){
}

主窗口.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QProcess>

#include "exeprocess.h"

/*main window ---------------------------------------*/

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    QProcess *proc;
    exeProcess *procLog;


public slots:


private:
    Ui::MainWindow *ui;
};




#endif // MAINWINDOW_H

主窗口.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(proc, SIGNAL(readyReadStandardOutput ()), procLog, SLOT(logReady()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

谢谢!。

最佳答案

您需要创建 procprocLog对象。

您只有作为类成员的指针,因此您必须初始化它们(使用 new )。 connect仅适用于事件对象。

关于Qt:QObject::connect:无法连接(空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238486/

相关文章:

qt - 图像不显示在 QtForm 的中心

qt - 结合 Qt Widgets 和 QML 与 QWidget::createWindowContainer()

c++ - 将 qwidget 上的当前项目保存为图像

c++ - QtCreator 调试器只显示汇编程序

linux - 在 linux 中为 qtcreator 添加 Doxygen 插件

android - QT-creator 2.8 无法部署到 android,ant clean 调试失败

android - Android 的 Qt 缺少编译器

C++ system() 孤儿进程和僵尸进程

qt - QCheckBox:如何区分用户引起的状态更改和以编程方式进行的更改?

c++ - Qt:改变用户变量表示控件状态的改变