当前位置:  开发笔记 > 编程语言 > 正文

隐藏之前添加到Qt TabWidget的选项卡

如何解决《隐藏之前添加到QtTabWidget的选项卡》经验,为你挑选了2个好方法。

我有一个对话框,其中包含一个Qt TabWidget,其中添加了许多选项卡.

我想隐藏其中一个标签.

_mytab->hide() 

不起作用.我不想只是从.ui文件中删除选项卡及其所有小部件,因为其他代码依赖于选项卡中的小部件.但是,生成选项卡代码会很好,但在生成的uic_mydialog.cpp中不会显示:: insertTab.在ui文件中设置hidden属性也不起作用.

我正在使用Qt 3.3



1> AMM..:

我遇到了同样的问题.我使用以下方法.

现在这里是数据.

genTab是我的QTabWidget的名称

tabX是我要删除的选项卡的名称.

(请注意,这是Tab Widget中的第二个选项卡.因此,我将使用"1"作为索引来引用此选项卡)

要删除和添加的代码如下所示.

ui.genTab->removeTab(1); // removes the tab at the index 1 which is the second tab from left


ui.genTab->insertTab(1, ui.tabX, ""); // The tab is added back.

在这里,请注意,如果在设计时间中静态添加了选项卡,则很容易执行此操作.因为我们将有一个与选项卡关联的对象名称,因此我们可以使用ui.tabX来引用它.根据您的说法,在您的情况下,标签确实在设计时间内静态添加.

但是,如果要动态添加选项卡,则可能需要在列表中维护选项卡,然后为deletedTabs设置另一个列表.

但第一种解决方案很可能对您有用.希望这可以帮助.

-Arjun



2> Jérôme..:

我会使用QTabDialog :: removePage(QWidget*pTabPage),它不会删除pTabPage,这是你想要的.

_myTabDlg->removePage(_mytab);

我正在使用它,它工作正常!

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有