修改PyQt5的 QTextEdit,将换行符(\n)移除

编程语言 2026-07-11

我在用PyQt5,并且在我的.ui文件里有这一行:

<widget class="QTextEdit" name="textEdit_Title">

这会在我的主窗口中添加一个 QTextEdit 小部件(

它已经包含“sometext”。

尝试在运行时通过以下方式修改文本:

.....
textEdit_Title = form.textEdit_Title.toPlainText()
print('textEdit_Title : ' , textEdit_Title)    
form.textEdit_Title.setText(textEdit_Title+'  : '+gmxapi_version)
print('textEdit_Title : ' , textEdit_Title)   
....

结果是 "sometext",然后在下一行(下面这一行)显示 " : gmxapi_version "。

要让所有内容在同一行,我需要使用:

form.textEdit_Title.setText(textEdit_Title[:-2]+' : '+gmxapi_version)

还有其他方法可以实现吗? (附:我需要一个QTextEdit,因为它作为插件的STDOUT接口工作,因此QLineEdit不是一个选项)

解决方案

你可以使用 .strip() ,它会移除前导和尾随字符(例如你的换行符)

form.textEdit_Title.setText(textEdit_Title.strip() + '  : ' +gmxapi_version)

如果你想专门移除换行符,可以使用 .replace 方法:form.textEdit_Title.setText(textEdit_Title.replace("\n", "") + ' : ' + gmxapi_version)

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章