在从UI文件创建用户界面代码的过程中,Qt创建了两个具有相同定义的类。
class UI_CustomeUIClassFromUIFile
{
//code generated from UI file thru UIC
}
namespace ui
{
class CustomeUIClassFromUIFile public : UI_CustomeUIClassFromUIFile{};
}using namespace ui;
有两个类只有一个内部UI命名空间而另一个没有namspace的原因是什么?是否支持不支持命名空间的编译器,还有一些像QTNAMESPACE这样的宏。
答案 0 :(得分:1)
qt / trolltech(& now nokia)发布了一篇关于API设计的优秀文档,其中讨论了API的最佳实践。可能有there的解释。
答案 1 :(得分:1)
宏是QT_BEGIN_NAMESPACE,如果您将Qt编译为custom namespace内部,则使用该值。
对于2个班级,我认为你自己回答了这个问题。您可以使用Ui_XXX
或Ui::XXX
。我总是更喜欢Ui::
方法,但更喜欢自己的方法。
所以我想除了让程序员选择之外,我没有真正的答案。