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

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())

应该可以解决问题。