读书人

多个ui文件如何解决名空间重复

发布时间: 2013-04-26 16:27:53 作者: rapoo

多个ui文件,怎么解决名空间重复?
每次编译后,打开UI_XXX.h文件手动修改。很麻烦啊,谢谢。
[解决办法]
你在designer里的窗体的objectName如此定义:
Namespace1::Class1
[解决办法]
这样生成ui_xxx.h后,就能这样用了:

namespace Ui
{
namespace Namespace1
{
class Class1;
}
}
[解决办法]
你手动改生成的文件肯定有问题啦,随着你得重新编译,ui文件就会重新生成,UI_XXXX.h这是按照一定的规则自动生成的,你的更改就会被覆盖。
你用设计师画的界面,可以直接指定QWidget的类名,就是objectName这个属性。ui生成文件后,你可以完全不用管那个生成的类名称,



QT_BEGIN_NAMESPACE

class Ui_ConfirmWidget
{
};
namespace Ui {
class ConfirmWidget: public Ui_ConfirmWidget {};
} // namespace Ui

ConfirmWidget这个类名称就是通过objectName这个属性设置的,这个不会随着重新编译而改变的,
Ui_ConfirmWidget这个类名是不用管的,你在外部直接调用Ui::ConfirmWidget就可以了

读书人网 >QT开发

热点推荐