[英]How to use the pimpl idiom with Qt and subclasses of QObject
我想知道在Qt对象中实现pimpl习惯用法的最简单方法。 我想要的是这样的:
pimpl.h:
class B;
class A: public QObject {
B *b;
}
pimpl.cxx:
class B: public QObject {
}
现在,很明显,Qt不会通过B类为其创建Moc。 如何处理? 我想在.cxx中明确实现B的实现。
您可以创建一个pimpl-private.h,其中包含B的定义,并且仅包含在pimpl.cxx中,除此之外没有其他地方。 然后,您可以在此标头上运行moc。
通过添加,可以在.cpp文件中包含代码
#inlude "pimpl.moc"
在“ pimpl.cxx”的末尾(!),然后重新运行qmake。 这将生成一个Makefiule规则,以通过moc运行文件,并将输出结果放入“ pmipl.moc”中,从而使一切神奇地起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.