首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何完全隐藏一个QGridLayout?

如何完全隐藏一个QGridLayout?
EN

Stack Overflow用户
提问于 2010-03-03 18:58:43
回答 3查看 6.4K关注 0票数 9

我有一个按钮,后面跟着一个充满小部件的QGridLayout。我想在每次单击按钮时显示/隐藏QGridLayout,但阅读QGridLayout文档时,我发现没有show()/hide()实现,也没有可用的setVisible()方法。

我该如何实现这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-03 21:42:01

您没有提到您使用的是哪个版本的Qt。(我正在看4.4 documentation。)

我还没有尝试过,但这里有两个想法:

  • QGridLayout继承了函数QLayoutItem::widget()。如果您的布局是微件,这将返回一个QWidget*,您可以在其中调用show()hide().
  • If您的QGridLayout不是QWidget,您可以将其嵌套在QWidget中,并且您可以show() / hide()该微件。
票数 6
EN

Stack Overflow用户

发布于 2010-03-03 22:48:16

布局只影响添加到它们的小部件的大小/位置-对于可见性(以及其他任何事情-事件处理、焦点、enable+disable),如上所述,您关心父小部件。parentWidget()提供拥有布局的小部件,然后可以显示和隐藏该小部件。

票数 7
EN

Stack Overflow用户

发布于 2010-03-04 00:14:29

我假设您有多个QGridLayout实例,根据所单击的按钮,应该只有一个实例是可见的。您可以使用QStackedWidget来执行以下操作:

QStackedWidget类提供了一堆小部件,其中一次只有一个小部件可见。

然后,您应该为QStackedWidget中的每个小部件关联一个单独的QGridLayout

有关更多详细信息,请参阅Qt documentation

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2370557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档