我正在创建一个将注册为QML类型的C ++类。我想在初始化对象时运行一些非平凡的逻辑。我不想把这个逻辑放在构造函数中,因为这是不好的做法。在标准的C ++类中,我通常会使用这个逻辑创建一个Startup()函数,并在初始化对象后调用它,但是我无法控制它,因为对象是在QML中初始化的。
我应该如何为自定义QML类型实现此自定义初始化逻辑?
对于那些想要细节的人。我正在制作一个QAbstractListModel来跟踪目录中的所有.txt文件。创建它时,它将扫描目录(通过属性传入)并使用该目录中所有.txt文件的名称更新其内部集合。
Edit1:在查看Qt的示例项目后,我发现其中许多实际上都在构造函数中执行所有初始化逻辑,包括设置数据库连接和执行初始数据库查询和查询解析等操作。只需从Qt Creator Welcom-> Examples屏幕中搜索“数据库”即可查看这些样本。如果有人找到并解释了更好的方法,我将不胜感激。