修改PyQt5的 QTextEdit,将换行符(\n)移除
我在用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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。