开发者社区> 问答> 正文

PyQt5 QTextEdit在复制/粘贴到其中时更改颜色

在我的应用程序中,我有一个QTextEdit。当我正常地编写它时,它工作得很好,但是当我从我的IDE中复制/粘贴文本时(例如,在黑暗模式下为pycharm),QTextEdit也会接受文本的颜色和背景。

这是正常的外观:

这是从IDE复制粘贴时发生的情况:

更改颜色后,下一次写入输入将保持相同的颜色,直到下一次复制/粘贴为止。

如何避免QTextEdit拥有默认颜色以外的其他颜色(黑色文本,白色背景)?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 20:25:04 1520 0
1 条回答
写回答
取消 提交回答
  • QTextData具有acceptRichText属性。

    只需将其设置为True。

    • QTextEdit允许使用富文本格式的内容,如果您从中获取文本的源支持剪贴板的富文本格式,那么您会得到的。 为了避免这种行为,可以将QTextEdit子类化并覆盖insertFromMimeData(mimeData)〜 class TextEdit(QtWidgets.QTextEdit): def insertFromMimeData(self, source): newData = QtCore.QMimeData() for format in source.formats(): if format == 'text/plain': newData.setData(format, source.data(format)) super().insertFromMimeData(newData)

    回答来源:stackoverflow

    2020-03-23 20:25:09
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
移动与复制 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载