2024-04-24 23:52:47 发布
网友
是否可以获取pyqt中特定节点的所有属性? 例如。。考虑以下节点: < asset Name="3dAsset" ID="5"/> 我想检索(“Name”和“ID”)字符串 有可能吗?
< asset Name="3dAsset" ID="5"/>
提前谢谢
这是给c++的。我遇到了同样的问题。您需要转换为QDomAttr。我相信python中的API是相同的。
if( Node.hasAttributes() ) { QDomNamedNodeMap map = Node.attributes(); for( int i = 0 ; i < map.length() ; ++i ) { if(!(map.item(i).isNull())) { QDomNode debug = map.item(i); QDomAttr attr = debug.toAttr(); if(!attr.isNull()) { cout << attr.value().toStdString(); cout << attr.name().toStdString(); } } }
如何在PySide/PyQt中获取第一个属性名/值:
if node.hasAttributes(): nodeAttributes = node.attributes() attributeItem = nodeAttributes.item(0) #pulls out first item attribute = attributeItem.toAttr() attributeName = attr.name() attributeValue = attr.value()
这只展示了如何获得一个名称/值对,但是应该很容易用nodeAttributes.length()或类似的东西扩展循环。
nodeAttributes.length()
您可以使用函数检索属性的特定值
QString QDomElement::attribute ( const QString & name, const QString & defValue = QString() ) const
要使用所有属性
QDomNamedNodeMap QDomElement::attributes () const
您必须遍历DomNamedNodeMap并获取每个属性的值。希望有帮助。
编辑:试试这个。
有了你给出的QDomNamedNodeMap
QDomNode QDomNamedNodeMap::item ( int index ) const
它将为特定属性返回一个QDomNode。 那就给吧
QDomAttr QDomNode::toAttr () const
用得到的QDomAttr给出
QString name () const
它将返回属性的名称。 希望有帮助。
这是给c++的。我遇到了同样的问题。您需要转换为QDomAttr。我相信python中的API是相同的。
如何在PySide/PyQt中获取第一个属性名/值:
这只展示了如何获得一个名称/值对,但是应该很容易用
nodeAttributes.length()
或类似的东西扩展循环。您可以使用函数检索属性的特定值
要使用所有属性
您必须遍历DomNamedNodeMap并获取每个属性的值。希望有帮助。
编辑:试试这个。
有了你给出的QDomNamedNodeMap
它将为特定属性返回一个QDomNode。 那就给吧
用得到的QDomAttr给出
它将返回属性的名称。 希望有帮助。
相关问题 更多 >
编程相关推荐