pyqt5如何循环遍历控件名_python – 在PyQt布局中循环遍历小部件

我的问题与

Get a layout’s widgets in PyQT有些相关,但并不重复.我没有寻找如何做到这一点的高层战略观点,而是试图了解最惯用和最直接的方法.由于PyQt是Qt C API的一个非常精确的绑定,它提供了一种C-ish方式来获取布局中的小部件.这是我一直在使用的那种习语:

for i in range(layout.count()):

item = layout.itemAt(i)

if type(item) == QtGui.QLayoutItem:

doSomeStuff(item.layout())

if type(item) == QtGui.QWidgetItem:

doSomething(item.widget())

我不是最有经验的Python人,但这似乎有点不合情理.我的直觉告诉我,在理想世界中,Python代码看起来应该更像:

for w in layout.widgets():

doSomething(w)

我错了吗?我错过了一个优秀的成语吗?这是在PyQt中迭代小部件的最佳方法吗?我倾向于用C语言思考,所以我有时会错过“明显的”Python语言功能,这些功能可以让事情变得更好.我正在做的部分工作是以递归方式下载到小部件中,其中布局包含带有布局的小部件(等等),以便在运行时自动将连接连接到在Designer中创建的UI.添加QTabWidgets,并处理设计器中设置的动态属性,我的代码基本上可以工作,但它只是感觉非常笨重.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值