ani*_*ils 10 python qt children pyside
我正在使用pyside(qt)开发一个桌面应用程序,我想访问(迭代)QWidget的所有行编辑组件.在qt中我发现了两个方法findChild和findChildren,但没有找到正确的例子,我的代码显示错误,'form'对象没有属性'findChild'. 这里的'形式'是Qwidget表单,包括组件lineEdit,comboboxes,Qpushbuttons等.
码:
lineEdits = form.findChild<QLineEdit>() //This is not working
lineEdits = form.findChild('QLineEdit) //This also not working
Run Code Online (Sandbox Code Playgroud)
ekh*_*oro 23
PySide/PyQt4中的签名findChild和签名findChildren是不同的,因为在Python中没有与C++强制转换语法完全等效的东西.
相反,您必须传递一个类型(或tuple类型)作为第一个参数,并将可选字符串作为第二个参数传递(用于匹配objectName).
所以你的例子应该是这样的:
lineEdits = form.findChildren(QtGui.QLineEdit)
Run Code Online (Sandbox Code Playgroud)
请注意,findChild并且findChildren是方法QObject- 因此,如果您的表单没有它们,则它不能是QWidget(因为所有小部件都继承QObject).
| 归档时间: |
|
| 查看次数: |
21762 次 |
| 最近记录: |