В процессе создания кода пользовательского интерфейса из файла пользовательского интерфейса Qt создает 2 класса с одинаковым определением.
class UI_CustomeUIClassFromUIFile
{
//code generated from UI file thru UIC
}
namespace ui
{
class CustomeUIClassFromUIFile public : UI_CustomeUIClassFromUIFile{};
}using namespace ui;
В чем причина наличия 2 классов, в которых только один находится внутри пространства имен пользовательского интерфейса, а другой - без пространства имен? Для поддержки компилятора, который не поддерживает пространство имен, есть также макрос, например QTNAMESPACE.