Pyside:QLineEdit 接受多个输入
Pyside: QLineEdit taking multiple inputs
我在 Qt Designer 中开发了一个 GUI,用户可以在 QLineEdit
中输入两个值,当用户按下回车键时,它会执行一些数学计算。
问题是一旦输入值并在输出后按下回车键,我就无法向 QLineEdit
输入内容,但每次都必须重新启动 GUI。这是我的代码:
def entervalues(self):
if self.RotationEdit.text() != "" and self.TiltEdit.text() != "":
self.RotationEdit = str(self.RotationEdit.text())
self.TiltEdit = str(self.TiltEdit.text())
self.pass_arguments.emit("self.RotationEdit","self.TiltEdit")
else:
QMessageBox.information(self, "Error","No Values Entered")
如果我尝试输入值并按回车键,它会给出属性错误。
line 100, in entervalues
if self.RotationEdit.text() != "" and self.TiltEdit.text() != "":
AttributeError: 'str' object has no attribute 'text'
问题出现在您的代码中,您正在更改对象 self.RotationEdit
self.RotationEdit = str(self.RotationEdit.text())
当您最初声明这是一个 QLineEdit,但随后您分配了一个字符串。当您重用它时,它仍然是字符串,因此未定义 text()
函数。我建议创建一个新变量,其中包含您将在另一个函数中使用的值。
def entervalues(self):
if self.RotationEdit.text() != "" and self.TiltEdit.text() != "":
self.pass_arguments.emit(self.RotationEdit.text(),self.TiltEdit.text())
else:
QMessageBox.information(self, "Error","No Values Entered")
我在 Qt Designer 中开发了一个 GUI,用户可以在 QLineEdit
中输入两个值,当用户按下回车键时,它会执行一些数学计算。
问题是一旦输入值并在输出后按下回车键,我就无法向 QLineEdit
输入内容,但每次都必须重新启动 GUI。这是我的代码:
def entervalues(self):
if self.RotationEdit.text() != "" and self.TiltEdit.text() != "":
self.RotationEdit = str(self.RotationEdit.text())
self.TiltEdit = str(self.TiltEdit.text())
self.pass_arguments.emit("self.RotationEdit","self.TiltEdit")
else:
QMessageBox.information(self, "Error","No Values Entered")
如果我尝试输入值并按回车键,它会给出属性错误。
line 100, in entervalues
if self.RotationEdit.text() != "" and self.TiltEdit.text() != "":
AttributeError: 'str' object has no attribute 'text'
问题出现在您的代码中,您正在更改对象 self.RotationEdit
self.RotationEdit = str(self.RotationEdit.text())
当您最初声明这是一个 QLineEdit,但随后您分配了一个字符串。当您重用它时,它仍然是字符串,因此未定义 text()
函数。我建议创建一个新变量,其中包含您将在另一个函数中使用的值。
def entervalues(self):
if self.RotationEdit.text() != "" and self.TiltEdit.text() != "":
self.pass_arguments.emit(self.RotationEdit.text(),self.TiltEdit.text())
else:
QMessageBox.information(self, "Error","No Values Entered")