我正在尝试使用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"必须是None或字符串,而不是< class' PyQt4.QtCore.QString' >
答案 0 :(得分:0)
您正在使用PyQt,并且有类似的内容:
w = QWidget()
textbox = QLineEdit(w)
吧?!
错误消息告诉您textbox.text()
的结果属于QString
类型。但是你需要一个string
。
您只需使用str(textbox.text())
serialport.port = str(textbox.text())
应该解决问题。