在C ++中无效使用非静态数据成员

时间:2016-12-16 17:59:39

标签: c++ qt

GUI:

class PythonShell: public QMainWindow
{
    Q_OBJECT

public:
    PythonShell(QWidget *parent = 0);
    ~PythonShell();
    QPlainTextEdit* OutputTextEdit;

main.cpp中:

static PyObject* redir_print(PyObject* self, PyObject* args)
{
    const char* s;
    if(!PyArg_ParseTuple(args,"s",&s))
        return nullptr;
    PythonShell::OutputTextEdit->appendPlainText(s);
    Py_RETURN_NONE;
}
  

错误:无效使用非静态数据成员OutputTextEdit

出了什么问题?

1 个答案:

答案 0 :(得分:0)

您需要通过创建PythonShell的对象将PythonShell带入现实生活。

  PythonShell obj;

然后访问其成员

  obj.OutputTextEdit->appendPlainText(s);