Qt中UI命名空间的基本原理是什么?

在从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这样的宏.

最佳答案 宏是QT_BEGIN_NAMESPACE,如果您将Qt编译为
custom namespace内部,则使用该宏.

至于2个班级,我认为你自己回答了这个问题.您可以使用Ui_XXX或Ui :: XXX.我总是喜欢Ui ::方法,但是每个人都喜欢它们.

所以我想除了让程序员选择之外,我没有真正的答案.

点赞