Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt通用小部件处理_C++_Qt - Fatal编程技术网

C++ Qt通用小部件处理

C++ Qt通用小部件处理,c++,qt,C++,Qt,我正在使用qt(非常新)。我目前正在使用归档来保存用户复选框状态。每当用户打开该windows文件时,都会读取并实现该文件,但是有很多复选框,我使用了很多if语句(加载以前的状态)。我只是好奇是否有一个通用的方法来做到这一点,因为我有很多窗口和复选框来处理。 谢谢。每个QObject实例都有一个名称,可通过QObject::objectName获得,您可以使用QObject::findChild方法的组合来查找包含所有这些内容的父小部件下的所有QCheckBox实例。然后可以提取名称和复选框状态

我正在使用qt(非常新)。我目前正在使用归档来保存用户复选框状态。每当用户打开该windows文件时,都会读取并实现该文件,但是有很多复选框,我使用了很多if语句(加载以前的状态)。我只是好奇是否有一个通用的方法来做到这一点,因为我有很多窗口和复选框来处理。
谢谢。

每个QObject实例都有一个名称,可通过QObject::objectName获得,您可以使用QObject::findChild方法的组合来查找包含所有这些内容的父小部件下的所有QCheckBox实例。然后可以提取名称和复选框状态以写入文件。当您读入文件时,您将反转该过程

需要注意的是,对象的名称需要保持一致;在程序的整个生命周期中,如果更改QCheckBox的名称,则包含该名称的文件要么无效,要么必须处理名称转换。我建议使用Qt设计器手动设置QCheckBox实例的名称,这样它们就可以根据它们所表示的内容而不是自动生成的名称来进行设置