QT问题
关于Qt Designer 和代码生成的关系的理解上存在一些疑问,特向大家请教
按照我的理解代码生成过程如下:
1 先通过Qt Designer编辑,生成 .ui文件,该文件中包含了窗体的基本信息;
2 通过uic,根据.ui文件生成定义窗口的代码;
3 通过moc工具生成相关代码
我用了一下别人开发的控件,代码生成的过程中,信息传递的过程存在一些疑问
用Qt Designer的属性编辑器编辑完控件的属性后,若不改变控件的默认属性,生成的.ui文件中只包含了控件的几何形状等基本信息。若改变其默认属性,生成的.ui文件则包含其相关属性的信息,再用uic生成对应窗体的代码时,代码中包含了设置控件属性相关代码。现有疑问如下:
1 uic是如何知道设置控件相关属性所用的方法,是不是在编写控件时设置属性的方法名必须遵守相应的规范?看生成的代码里用的都是set+属性名,不知道是不是这个规范,方法的参数有没有什么规范?不知道在哪里可以找到相关资料。
2 设置属性时如何做逻辑检查,比如我要实现一个自定义控件,在属性编辑器中编辑控件某属性的范围时,若要能够保证属性的最小值比最大值小,控件该如何实现?