为什么我用小写字母命名widget class 后qt-creator 编译失败?
Why did qt-creator fail to build after I named the widget class with a lower case letter?
我在主窗口中创建了一个小部件并将其提升到我的 class,该小部件名为 "renderArea",我将其命名为 class "renderArea" 并遇到了错误。当我将 class 重命名为 "RenderArea" 时,它起作用了。知道为什么这会导致它失败吗?
设计器 (.ui) 文件由 "uic" 编译器翻译成 headers (.h)。在生成的代码中有一个 object 变量,其名称与 class 相同。这将产生编译器错误,如 this SO answer 中所述。您不能将相同的解决方案(添加 class 关键字)应用于您的场景,因为代码是 auto-generated。但是,当您以 upper-case 开头重命名 class 时它会起作用,因为名称不再相同(请记住 C 和 C++ 是 case-sensitive)。
我在主窗口中创建了一个小部件并将其提升到我的 class,该小部件名为 "renderArea",我将其命名为 class "renderArea" 并遇到了错误。当我将 class 重命名为 "RenderArea" 时,它起作用了。知道为什么这会导致它失败吗?
设计器 (.ui) 文件由 "uic" 编译器翻译成 headers (.h)。在生成的代码中有一个 object 变量,其名称与 class 相同。这将产生编译器错误,如 this SO answer 中所述。您不能将相同的解决方案(添加 class 关键字)应用于您的场景,因为代码是 auto-generated。但是,当您以 upper-case 开头重命名 class 时它会起作用,因为名称不再相同(请记住 C 和 C++ 是 case-sensitive)。