【发布时间】:2010-08-02 08:52:44
【问题描述】:
我正在寻找一种在运行时专门化小部件的方法。我有一个用 Qt Designer 创建的表单。在这个表单中,有一个显示用户数据的小部件,如姓名、年龄等。然后用户选择一个文件并根据类型小部件显示附加信息(如 OO 示例人员 -> 学生、教师)。
我试图在我的表单上放置一个空的 QWidget,并为其分配一个人员小部件,如果用户单击一个按钮,我会在人员上调用 deleteLater() 并分配一个 new Student()。这可行,但新的小部件随后不遵循布局。
我还发现了 QStackedWidget。这似乎可行,但因为所有可能的小部件都是在显示表单时创建的,即使它们从未使用过,这种方式感觉不对。
实现这一点的方法是什么?
编辑:我觉得我的问题有点不清楚。如果想用原始小部件的专用(继承)版本替换 QWidget,应该使用什么 Qt 机制?我正在寻找 Qt 的方式来做到这一点。
【问题讨论】: