我正在尝试构建一个GUI:
QTabwidget
中的某个标签(Qt Designer中预定义的许多标签.ui
)我计划使用10个标签创建一个QTabwidget
,但根据加载的参数,只能显示一个标签。启用某个选项卡不是一个选项,因为它需要很多空间而禁用的选项卡是灰色的。我不想看到禁用标签。
删除选项卡可能是一个选项,但索引与特定选项卡无关,因此我必须处理索引的转换。此外,如果用户使用不同的参数加载另一个文件,则应添加一个好的选项卡并删除当前的选项卡。
我的问题是:
RemoveTab
,如何在标签上使用指针而不是索引?我使用PyQt4
答案 0 :(得分:3)
使用QStackedWidget
,它与标签小部件完全相同,但没有标签栏(您不需要)。
这个小部件在Qt Designer中可用。上下文菜单有几个用于添加/删除页面的命令,等等。请注意,右上角的箭头按钮就是为了方便起见:它们不会出现在您的应用程序中。
可以在运行时使用addWidget/removeWidget
添加/删除页面:
index = self.stack.addWidget(self.page1)
self.stack.removeWidget(self.page1)
您可以使用索引或窗口小部件引用访问这些页面。
答案 1 :(得分:0)
我看到这个帖子有点老了。但我希望这仍然会有所帮助。 您可以使用remove()方法“隐藏”选项卡。没有办法真正隐藏它们在pyqt4中。当你删除它时,它已经离开了ui。但在后端,包含所有设置的选项卡对象仍然存在。我相信你能找到一种方法来即兴发挥它。试一试!