子索引超出范围,python elemen

2024-05-18 08:35:36 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试运行此代码时,我收到了以前从未收到过的错误。在

File "BasicEmail.py", line 96, in init_ui root[0][1].text IndexError: child index out of range Abort trap: 6

我的代码很简单

class EmailBlast(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        user_file = 'user_info.xml'
        tree = ET.parse(user_file)
        root = tree.getroot()
        root[0][1].text
        self.emailLabel = QtWidgets.QLabel("Email:")
        self.emailListLabel = QtWidgets.QLabel("")
        self.sendButton = QtWidgets.QPushButton("Save")
        self.settingsButton = QtWidgets.QPushButton("Settings")

        h_box = QtWidgets.QHBoxLayout()
        h_box.addStretch()

        v_box = QtWidgets.QVBoxLayout()
        v_box.addWidget(self.emailLabel)
        v_box.addWidget(self.emailListLabel)
        v_box.addWidget(self.sendButton)
        v_box.addWidget(self.settingsButton)        
        v_box.addLayout(h_box)

        self.setLayout(v_box)
        self.setWindowTitle("Email Blast")

        self.settingsButton.clicked.connect(lambda: self.settings(self.settingsButton, "Saved"))        
        self.show()

    def settings(self, settingsButton, string):
        self.ui = ConfigWindow()
        self.hide()        
        print("Settings")

我能得到标签和属性,没有值。XML中的数据很好,应该有一个数组或列表,供我从中提取。在

包含完整的xml文件:

^{pr2}$

Tags: 代码textselfboxtreeuiinitdef
1条回答
网友
1楼 · 发布于 2024-05-18 08:35:36

您的数据xml模式直接在根目录中显示子元素, 因此无需访问嵌套子级:

root = tree.getroot()
root[0].text # returns the email
root[1].text # returns the password
root[2].text # returns the smtp 
root[3].text # returns the port

您还可以使用名称查询来更改模式:

^{2}$

相关问题 更多 >