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

Posted

技术标签:

【中文标题】如何从文本框中读取串口名称(可编辑)【英文标题】:How to Read the serial port name from text box (editable) 【发布时间】:2018-03-07 10:06:46 【问题描述】:

我正在尝试使用以下代码在 Linux 中使用 Python 2.7 PyQt4 打开串行端口,它工作正常:

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 或字符串,而不是

【问题讨论】:

【参考方案1】:

你正在使用 PyQt 并且有这样的东西:

w = QWidget()
textbox =  QLineEdit(w)

对吗?!

错误消息告诉您textbox.text() 的结果是QString 类型。但是你需要一个string。 您可以使用 str(textbox.text()) 简单地转换结果

serialport.port = str(textbox.text())

应该能解决问题。

【讨论】:

以上是关于如何从文本框中读取串口名称(可编辑)的主要内容,如果未能解决你的问题,请参考以下文章

保存名称从文本框中读取的文件。 C#

MFC中如何给编辑框设置文本内容?

Visual c++ 如何从富文本框中读取

如何从文本框中读取文本并将其中的一些链接?

如何从自动完成文本框中单击名称?

Java 添加读取删除Excel文本框