如何从文本框中读取串口名称(可编辑)
How to Read the serial port name from text box (editable)
我正在尝试使用以下代码使用 Python 2.7 PyQt4 打开 Linux 中的串行端口并且它工作正常:
serialport.port = "/dev/ttyACM1"
serialport.baudrate = 115200
serialport.open()
我不想像上面那样硬编码串口名称。我想将串口名称作为用户从可编辑文本框中输入:
textbox.setText("/dev/ttyACM1")
serialport.port = textbox.text()
serialport.baudrate = 115200
serialport.open()
但我无法将 textbox.text()
格式转换为 serialport.port
。
出现以下错误:
ValueError: "port" must be None or a string, not < class 'PyQt4.QtCore.QString' >
您正在使用 PyQt 并且有这样的东西:
w = QWidget()
textbox = QLineEdit(w)
对吗?!
错误消息告诉您 textbox.text()
的结果类型为 QString
。但是你需要一个 string
来代替。
您可以使用 str(textbox.text())
简单地转换结果
serialport.port = str(textbox.text())
应该可以解决问题。
我正在尝试使用以下代码使用 Python 2.7 PyQt4 打开 Linux 中的串行端口并且它工作正常:
serialport.port = "/dev/ttyACM1"
serialport.baudrate = 115200
serialport.open()
我不想像上面那样硬编码串口名称。我想将串口名称作为用户从可编辑文本框中输入:
textbox.setText("/dev/ttyACM1")
serialport.port = textbox.text()
serialport.baudrate = 115200
serialport.open()
但我无法将 textbox.text()
格式转换为 serialport.port
。
出现以下错误:
ValueError: "port" must be None or a string, not < class 'PyQt4.QtCore.QString' >
您正在使用 PyQt 并且有这样的东西:
w = QWidget()
textbox = QLineEdit(w)
对吗?!
错误消息告诉您 textbox.text()
的结果类型为 QString
。但是你需要一个 string
来代替。
您可以使用 str(textbox.text())
serialport.port = str(textbox.text())
应该可以解决问题。