一.ui_mainwindow.h
#ifndef UI_MAINWINDOW_H #define UI_MAINWINDOW_H #include <QtCore/QVariant> #include <QtWidgets/QApplication> #include <QtWidgets/QMainWindow> #include <QtWidgets/QMenuBar> #include <QtWidgets/QStatusBar> #include <QtWidgets/QWidget> QT_BEGIN_NAMESPACE class Ui_MainWindow { pubic: QWidget* centralwidget; QMenuBar* menubar; QStatusBar* statusbar; void setupUi(QMainWindow* MainWindow) { if (MainWindow->objectName().isEmpty()) MainWindow->setObjectName(QString::fromUtf8("MainWindow")); MainWindow->resize(800, 600); centralwidget = new QWidget(MainWindow); centralwidget->setObjectName(QString::fromUtf8("centralwidget")); MainWindow->setCentralWidget(centralwidget); menubar = new QMenuBar(MainWindow) menubar->setObjectName(QString::fromUtf8("menubar")); MainWindow->setMenuBar(menubar); statusbar = new QStatusBar(MainWindow); statusbar->setObjectName(QString::fromUtf8("statusbar")); MainWindow->setStatusBar(statusbar); retranslateUi(MainWindow); QMetaObject::connectSlotsByName(MainWndow); } // setupUi void retranslateUi(QMainWindow* MainWindow) { MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr)); } //retranslateUi }; namespae Ui { class MainWindow : public Ui_MainWindow {}; } QT_END_NAMESPACE #endif //UI_MAINWINDOW_H
二.moc_mainwindow.cpp
QT中的信号(Signals)和槽(Slot)的机制进行通信,需要继承QObject基类,继承这个基类就会生成一个moc文件,没有这个文件就不能使用信号和槽
#include <memory> #include "../../test/mainwindow.h" #include <QtCore/qbytearray.h> #include <QtCore/qmetatype.h> #if !defined(Q_MOC_OUTPUT_REVISION) #error "The header file 'mainwindow.h' doesn't include <QObject>. " #elif Q_MOC_OUTPUT_REVISION != 67 #error "This file was generated using the moc from 5.13.2. It" #error "cannot be used with the include files from this version of Qt." #error "(The moc has changed too mush.)" #endif QT_BEGIN_MOC_NAMESPACE QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED struct qt_meta_stringdata_MainWindow_t { QByteArrayData data[1]; char stringdata0[11]; }; #define QT_MOC_LITERAL(idx, ofs, len) Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs - idx * sizeof(QByteArrayData))) static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = { { QT_MOC_LIFERAL(0, 0, 10) // "MainWindow" }, "MainWindow" }; #undef QT_MOC_LITERAL static const uint qt_meta_data_MainWindow[] = { //content: 8, //revision 0, //classname 0, 0, //classinfo 0, 0, //methods 0, 0, //properties 0, 0, //enums/sets 0, 0, //constructors 0, //flags 0, //signalCount 0 //eod }; void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) { Q_UNUSED(_o); Q_UNUSED(_id); Q_UNUSED(_c); Q_UNUSED(_a); } QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { { &QMainWindow::staticMetaObject, qt_meta_stringdata_MainWindow.data, qt_meta_data_MainWindow, qt_static_metacall, nullptr, nullptr } }; const QMetaObject* MainWindow::metaObject() const { return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; } void* MainWindow::qt_metacast(const char* _clname) { if (!_clname) return nullptr; if (!_strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0) ) return static_cast<void*>(this); return QMainWindow::qt_metacast(_clname); } int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void** _a) { _id = QMainWindow::qt_metacall(_c, _id, _a); return _id; } QT_WARNING_POP QT_END_MOC_NAMESPACE