如何将指针从MainWindow传递到另一个类?

时间:2014-02-09 17:04:54

标签: c++ qt

如何将指针从MainWindow传递到另一个类?我在MainWindow的构造函数中尝试这个,但是我有错误,它不起作用。还有其他选择吗? 主窗口* .cpp和* .h代码:

#include "SerialPort.h"
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    std::shared_ptr<SerialPort> serialPort;

private:
    Ui::MainWindow *ui;

};

和cpp文件代码:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow),
    serialPort(std::shared_ptr<SerialPort>(new SerialPort(this)))
{
    ui->setupUi(this);
}

其他类代码:

SerialPort::SerialPort(MainWindow *ptrWindow) :
    ptrMainWindow(ptrWindow)
{
}

及其标题文件:

//#include <MainWindow.h> <- cannot include because of error "connot find file"
class MainWindow;

class SerialPort : public QObject
{
public:
    SerialPort(MainWindow *ptrWindow = 0);

private:
    std::shared_ptr<MainWindow> ptrMainWindow;
};

0 个答案:

没有答案