gpt4 book ai didi

c++ - QWidget::layout() 不能返回 QGridLayout?

转载 作者:行者123 更新时间:2023-11-30 02:38:58 25 4
gpt4 key购买 nike

我有一个包含 QGridLayout 的 QWidget,而 QGridLayout 又包含一些 QPushButton。这些都是以编程方式生成的。在代码的后面(与定义布局的位置分开),我需要能够将更多按钮添加到布局中的特定行/列位置。

我尝试使用:widget->layout()->addWidget(button, row, col) 来引用布局并添加按钮。但是,widget->layout() 只返回一个通用的 QLayout 项,它不允许我指定行值和列值。有没有什么方法可以从特定的小部件引用 QGridLayout,而不必通过名称知道布局?如果它有所作为,我正在使用 Qt 4.8。

最佳答案

您始终可以通过 dynamic_cast 将其转换为 QGridLayout* :

auto gridLayout = dynamic_cast<QGridLayout*>(widget->layout());

如果你确定 widget->layout() 指向你的 QGridLayout 你不必检查并且可以使用 static_cast .否则,根据 nullptr 检查 gridLayout

关于c++ - QWidget::layout() 不能返回 QGridLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30266586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com