我的程序左边有个树状的列表,然后我在centralwidget中放了一个QWIDGET,用来显示一个TABWIDGET,TABWIDGET里面有好多表格,我点左边树状列表的东东,会产生不同的TABWIDGET,要显示在这个QWIDGET里面,请问如何每次销毁前面一次QWIDGET里面的东西来显示这一次QWIDGET里面的内容?我不想生成好多QWIDGET用什么HIDE和SHOW来做。多谢你了。
------解决方案--------------------
可以用QStackedWidget,通过addWidget ( QWidget * widget )把你要显示的那几个Widget都添加进去,然后通过setCurrentWidget ( QWidget * widget )指定要显示的Widget,通过信号槽与左侧的树形菜单项关联即可。
------解决方案--------------------
QStackedWidget 也是同时生成很多widget,然后每次只让一个widget显示出来。不过实现起来方便,不用自己去实现show和hide。