如何从文本框中读取串口名称(可编辑)

时间:2018-03-07 10:06:47

标签: python python-2.7 pyqt pyqt4 pyserial

我正在尝试使用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' >

1 个答案:

答案 0 :(得分:0)

您正在使用PyQt,并且有类似的内容:

w = QWidget()
textbox =  QLineEdit(w)

吧?!

错误消息告诉您textbox.text()的结果属于QString类型。但是你需要一个string。 您只需使用str(textbox.text())

转换结果即可
serialport.port = str(textbox.text())

应该解决问题。