[英]getting the plain C++ implementation of a QT code
我试图弄清楚这个代码如何在没有任何依赖性的普通C ++中喜欢,所以我使用的是moc
编译器,但显然我错了。
moc总是返回
main.cpp:0: Note: No relevant classes found. No output generated.
代码是
#include <QApplication> #include <QWidget> #include <QPushButton> class MyButton : public QWidget { public: MyButton(QWidget *parent = 0); }; MyButton::MyButton(QWidget *parent) : QWidget(parent) { QPushButton *quit = new QPushButton("Quit", this); quit->setGeometry(50, 40, 75, 30); connect(quit, SIGNAL(clicked()), qApp, SLOT(quit())); } int main(int argc, char *argv[]) { QApplication app(argc, argv); MyButton window; window.resize(250, 150); window.move(300, 300); window.setWindowTitle("button"); window.show(); return app.exec(); }
总的来说,我有兴趣使用C ++标准库创建我自己的信号槽系统(没有增强信号,没有QT,没有别的)所以我这样做是出于研究目的,我只对基础设施感兴趣关于信号和插槽。
谢谢。
将Q_OBJECT
宏添加到类的私有部分 ,因此moc
将其转换。
class MyButton : public QWidget
{
Q_OBJECT
public:
MyButton(QWidget *parent = 0);
};
这是文档所说的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.