如何查询附加到QLayout的小部件

时间:2014-07-13 18:21:14

标签: python pyqt

我想遍历附加到HBoxLayout的每个小部件。

    myLayout=QtGui.QHBoxLayout() 

    for i in range(myLayout.count()):
        print i

但我收到属性错误:'QHBoxLayout' object has no attribute 'item' on:

        item=self.ComboBoxQHBoxLayout.item(i)

使用索引号查询附加到布局的窗口小部件的正确语法是什么?

1 个答案:

答案 0 :(得分:3)

正如错误所述,布局没有item。但是,他们确实有itemAt返回QLayoutItem。您可以使用widget()方法从QLayoutItem获取小部件。如果该项目不是小部件(即另一个布局或间隔),则会返回None

for i in range(myLayout.count()):
    widget = myLayout.itemAt(i).widget()
    if widget:
        # item is a widget
        print widget