PyQt4中如何查找一个窗口中的子控件?
PyQt4中如何查找一个窗口中的子控件?
PyQt4中如何查找一个窗口中的子控件(子窗口)?
大家都知道可以使用findChild或findChildren来做,可是怎么做按PyQt的文档说明来做会失败:
[python]
indChild(QObject,ObjectName)#PyQt的文档说明
findChild(QObject,ObjectName)#PyQt的文档说明
搜索国外的网站也没有能提供正确指导的,有的干脆说是bug.
真的是这样吗?
我看了一下PyQt4对这个函数的内部封装细节,发现只有通过下面类似的调用才是唯一正确的.
[python]
class QTestDialog(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent=parent)
#~ #........
LineEdit=QtGui.QLineEdit('Show how to use findChild()')
#~ #为控件窗口设置一个名字,方便使用函数findChild()查找
LineEdit.setObjectName('LEName')
#~ #........
#~ #以后可以通过下面的方法来查找这个窗口
FindLE=self.findChild((QtGui.QLineEdit, ),'LEName')
#~ #........
class QTestDialog(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent=parent)
#~ #........
LineEdit=QtGui.QLineEdit('Show how to use findChild()')
#~ #为控件窗口设置一个名字,方便使用函数findChild()查找
LineEdit.setObjectName('LEName')
#~ #........
#~ #以后可以通过下面的方法来查找这个窗口
FindLE=self.findChild((QtGui.QLineEdit, ),'LEName')
#~ #........
也就是要将QObject封装成tuple类型.
相关内容
- 暂无相关文章
评论关闭