从布局中按名称获取小部件

2024-05-14

如果我想从 python Qt 的布局中获取特定的小部件,我应该如何进行?

到目前为止我所做的:

for i in range(self.ui.horizontalLayout_14.count()): 
    #here it does fail
    name = self.ui.horizontalLayout_14.itemAt(i).objectName()

    #if the above would had worked, then I could do something like this for example
    if "button" in name:
        self.ui.horizontalLayout_14.itemAt(i).widget().close()

请注意,对于示例,我正在使用button但它可能是布局、lineEdit 或组合框、标签等内的任何小部件,但不是全部。


问题是itemAt()函数返回QLayoutItem而不是一个小部件。所以你必须调用QLayoutItem::widget()函数来获取包含的小部件,即:

name = self.ui.horizontalLayout_14.itemAt(i).widget().objectName()

UPDATE

但是,您可以使用以下命令更轻松地完成相同的操作QObject::findChild()功能。 IE。:

widget = self.ui.findChild(QPushButton, "button")
# Check whether the returned widget is null...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从布局中按名称获取小部件 的相关文章

随机推荐

  • 原子聚合的使用

    我想在下一个查询中找到年龄最小的人 d q find name min age in name age John 20 Bill 25 Jack 20 Steve 28 Andrew 30 但结果是 Andrew 30 Bill 25 Ja
  • 在viewpager2中禁用动画

    我有 viewpager2 和扩展 FragmentStateAdapter 的适配器 我希望用户仅通过单击选项卡布局即可转到另一个页面 我已禁用此 viewpager2 的用户输入 但是当我单击选项卡时 有页面之间快速滑动的动画 但我只想
  • sympy 任意函数范围

    我想定义任意函数f 我知道 f 总是返回一个正数 我希望 sympy 在运行简化时能够使用这些知识 特别是简化文档中提到的三个幂规则 有没有办法做到这一点 我正在寻找类似下面的东西 f Function f positive True g
  • 如何从 shell 编译 macOS Sierra 上使用 dylib 路径的源代码

    我正在编译一些源代码 需要我已经构建的其他项目中的一些 dylib 我越来越 ld 未找到架构 x86 64 的符号 每当我执行 g some code cpp I usr local include o executable binary
  • 我什么时候应该关闭游标和数据库?

    我在自定义视图中以不同的方法多次使用相同的光标 我应该在每次使用后关闭光标还是可以保持它打开直到视图被破坏 对于数据库也是如此 是否可以在创建保存此视图的活动时打开它并在活动销毁时关闭它 当我按照上述操作时 我不断收到错误 close 从未
  • 是否有用于封闭类型名称的简短版本的 Eclipse 模板变量

    我想在 Eclipse 中为 Java 类创建一个构造函数模板 我有一个适用于大多数课程的版本 尽管它不适用于嵌套在其他类中的类 见类Inner如下 如何获得类名的简短版本 模板不起作用 public newType enclosing t
  • Jackson:无法反序列化 START_OBJECT 令牌中的 Number 实例

    我的 GWT 服务返回LinkedList
  • 为什么 FLT_MIN 等于 0?

    limits h指定非浮点数学类型的限制 例如INT MIN and INT MAX 这些值是可以使用 int 表示的最大负值和最大正值 In float h 有定义FLT MIN and FLT MAX 如果您执行以下操作 NSLog f
  • Laravel MySQL 按计数排序

    我正在使用 Laravel 和 MySQL 并且我有一个表post代表用户可以评论的帖子 现在我想按照每个帖子的评论数量按升序 降序对帖子进行排序 我该如何在 Laravel 中执行此操作 我不想添加字段post表来跟踪每个帖子的评论数量
  • 如何创建基于多个 IEnumerable 的集合

    我想要操作的类提供了类型的吸气剂IEnumerable
  • mongorestore 从独立到复制集

    我已转储在默认端口上运行的独立 mongo 数据库 14Gb 大 如下所示 mongodump username
  • 在 Inno Setup 中单击“下一步”按钮时验证自定义页面上的数据

    我已经设法获得一个基本脚本来显示向导 使用CreateInputFilePage 供用户识别我用来更新 XML 文件中某些设置的文件位置 但是 我想对所选文件的输入进行一些基本检查 而不是简单地接受用户提供的任何内容 例如 如果用户在内容无
  • 识别相似图像的库

    我想确定 2 张图像的相似程度 图像可能已被缩放 裁剪等 因此简单的像素比较将不起作用 我环顾四周 有很多关于这个主题的学术论文 但他们没有发布他们的代码 那么 您知道有一个可以比较图像的已发布库 适用于 Linux 和 Windows 吗
  • Windows 版 GitKraken 中的文件名太长

    正如建议的Q22575737 https stackoverflow com a 22575737 6623589 我已经更新了我的注册表并设置了git config system core longpaths true在处理长路径时 问题
  • 是否可以使用.NET 跟踪文件操作?

    当以某种方式调用文件操作 例如打开或关闭 时 我是否可以在操作系统继续请求之前处理它 如果可能的话可以通过以下方式取消它 NET http en wikipedia org wiki NET Framework 如果 NET没有这样的能力
  • 在 keras 中集成采样的 softmax 失败

    基于如何在 Keras 模型中使用 TensorFlow 的采样 softmax 损失函数 https stackoverflow com questions 47892380 how can i use tensorflows sampl
  • MYSQL 查询 WHERE IN 与 OR

    我开发了一个使用 OR 查询的系统 SELECT FROM tableA JOIN tableB ON idA idB WHERE idA 1 OR idA 2 OR idA 3 OR idA 4 OR idA 5 OR idA 100 与
  • 当我在控制器中使用 state.go 时,离子滑动菜单不会出现

    大家好 我正在使用 ionic 来构建我的应用程序 并且我放置了幻灯片菜单 问题是当我使用 stage go 更改视图时 此工作正常 但幻灯片菜单失败 那么我该如何解决这个问题 路由器 use strict var app angular
  • 日期/时间转换:字符串表示形式为 time_t [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何转换日期字符串 格式为 MM DD YY HH MM SS to a time tC 或 C 中的值 Use strptime 将
  • 从布局中按名称获取小部件

    如果我想从 python Qt 的布局中获取特定的小部件 我应该如何进行 到目前为止我所做的 for i in range self ui horizontalLayout 14 count here it does fail name s