(Qt Creator - 基于Cpp的应用程序)Q <Objects> VS使用指针?

Mar*_*mme 0 c++ qt pointers qobject

这是我的代码:

//MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui>

class MainWindow : public QWidget
{
    Q_OBJECT

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

private:
    QTextEdit *textEdit;
};


#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)
// MainWindow.cpp
#include "mainwindow.h"
#include <QMessageBox>

MainWindow::MainWindow(QWidget *parent)
{
textEdit = new QTextEdit();
}

MainWindow::~MainWindow()
{
    delete textEdit;
}
Run Code Online (Sandbox Code Playgroud)
//main.cpp
#include <QtGui>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

是否更高效(这里是"Q [Objects] VS使用指针?"问题的一部分):

1)使用我正在做的指针或

2)使用对象(删除*+删除语句)

谢谢!

use*_*204 6

MainWindow::MainWindow(QWidget *parent)
{
textEdit = new QTextEdit(this);
}

MainWindow::~MainWindow()
{
}
Run Code Online (Sandbox Code Playgroud)

  • 我的意思是你应该使用指针,你应该像这样使用:) (2认同)
  • @Martin:如果你不明白user928204想要说什么,也许你应该阅读QObject类的Qt文档,并在询问之前了解如何使用它(及其派生类).http://doc.qt.nokia.com/stable/qobject.html (2认同)