回覆列表
  • 1 # Go七葉

    因為 Qt使用元物件系統對C++進行了擴充套件,主要包括訊號-槽機制和內省機制。以用來支援Qt的訊號槽連線,QObject的元資訊,屬性,國際化翻譯等操作。

    如下列原始碼中的 Q_OBJECT, signals, slots等。

    class MainWindow : public QMainWindow

    {

    Q_OBJECT

    public:

    explicit MainWindow(QWidget *parent = 0);

    ~MainWindow();

    signals:

    void update();

    public slots:

    void onButtonClicked();

    private:

    Ui::MainWindow *ui;

    };

    這些非標準 C++的語法,需要使用 qmake, moc 預處理,生成標準 C++ 原始碼之後使用 C++編譯器進行編譯,所以我們在 QtCreator 中編譯會覺得比較慢,可以透過檢視編譯後的moc_xxxx.cpp 檔案檢視生成後的 C++ 原始碼檔案看到這些實際工作是如何進行的。

  • 中秋節和大豐收的關聯?
  • 電腦主機裡面一直有響聲?