我在做一些使用C++的算法工作。我的算法有一些选项,我需要尽可能少地加入到我的程序中。我目前使用this的代码。程序选项
一切正常:我添加了一些代码,我的计划,所以我可以调用带参数的二进制像-oopt1=val1,opt2=val2
和选项会自动设置。
的问题是,我也写在同一时间的GUI。现在,每种选项都必须能够使用GUI设置/请求。但是,我可能需要一个整数值的spinbox和一个布尔选项的复选框。我正在使用Qt作为工具包,所以我可以写一个成员 函数返回QWidget*
这是适当的基类。
不过,我不希望在我宣布我的选择,因为我想在GUI从程序的其余部分分开的头任何特定的GUI代码。我可以创建一个合适的QWidget*
的子类,但是如果我得到一个OptBase*
的列表,我不知道应该创建什么样的小部件。
是否有某种方式,我可以保持距离,同时仍然能够创造适当的小部件程序的其余部分分开的GUI?
什么[的QVariant](http://qt-project.org/doc/qt-5.0/qtcore/qvariant.html)或[Boost.Variant](http://www.boost.org/doc/ libs/1_53_0/doc/html/variant.html)? – Trompa