文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit
生活随笔
收集整理的這篇文章主要介紹了
文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QPlainTextEdit簡介
QPlainTextEdit小部件是一個用于編輯和顯示純文本控件,QPlainTextEdit控件與QTextEdit控件使用了相同的技術和概念,但是它為純文本處理提供了優化。QPlainTextEdit是一個支持純文本的高級查看器/編輯器,可以處理大型文檔并對用戶輸入做出快速響應。
QPlainTextEdit支持文本段落,在默認情況下,一個換行符表示一個段落,文檔可以一個或者多個段落組成,且段落中的每個字符都可以有其自己的屬性,例如有自己的字體和顏色。
QPlainTextEdit常用作文本顯示器或文本編輯器。
QPlaintTextEdit常用方法:
- setPlainText(): 設置多行文本框的內容;
- insertPlainText(): 插入普通文本;
- appendPlainText(): 添加普通文本;
- appendHtml(): 添加HTML文本內容;
- setReadOnly(): 設置成只讀模式;
- isReadOnly(): 是否是只讀模式;
- setLineWrapMode():設置換行模式,取值為(QPlainTextEdit.NoWrap:不自動換行(缺省值),QPlainTextEdit.WidgetWidth: 根據文本框的寬度自動換行.);
- lineWrapMode(): 換行模式
QPlaintTextEdit中的常用信號:
- textChanged: 文本內容發生改變時觸發;
- selectionChanged:選中內容發生改變時觸發;
- cursorPositionChanged: 光標位置發生改變觸發;
- copyAvailable:復制可用時觸發
- redoAvailable: 重做可用觸發
- undoAvailable: 撤銷可用觸發
QPlainTextEdit是一個功能強大的文本編輯器控件,有興趣的童鞋可進一步研究。
QPlainTextEdit類繼承關系:
測試QPlainTextEdit
測試程序實現簡單的文本編輯器,可以新建,打開一個文本文件,然后進行編輯并保存。使用Qt Designer生成ui文件. 然后在代碼中是有uic直接調用布局文件。創建文件qplaintextedit.py, 代碼如下:
import?sys,osfrom?PyQt5?import?QtCore,?QtGui,?QtWidgets,?uicfrom?PyQt5.QtWidgets?import?(QApplication,?QWidget,?QPlainTextEdit,?QToolButton,?QStyle,?QMessageBox,?QFileDialog)?class?DemoPlainTextEdit(QWidget):????def?__init__(self,?parent=None):????????super(DemoPlainTextEdit,?self).__init__(parent)????????????????self.path?=?None????????????????uic.loadUi(os.path.dirname(__file__)?+?'/textedit.ui',?self)????????????????self.btnNewFile.setIcon(QApplication.style().standardIcon(QStyle.SP_FileIcon))????????self.btnNewFile.clicked.connect(self.onFileNew)????????self.btnOpenFile.setIcon(QApplication.style().standardIcon(QStyle.SP_DialogOpenButton))????????self.btnOpenFile.clicked.connect(self.onFileOpen)????????self.btnSaveFile.setIcon(QApplication.style().standardIcon(QStyle.SP_DialogSaveButton))????????self.btnSaveFile.clicked.connect(self.onSaveFile)????????self.btnSaveFileAs.setIcon(QApplication.style().standardIcon(QStyle.SP_DialogSaveButton))????????self.btnSaveFileAs.clicked.connect(self.onSaveFileAs)????????????def?msgCritical(self,?strInfo):????????dlg?=?QMessageBox(self)????????dlg.setIcon(QMessageBox.Critical)????????dlg.setText(strInfo)????????dlg.show()????????def?onFileNew(self):????????self.txtEdit.clear()????????????def?onFileOpen(self):????????path,?_?=?QFileDialog.getOpenFileName(self,?'打開文件',?'',?'文本文件?(*.txt)')????????????????if?path:????????????try:????????????????with?open(path,?'rU')?as?f:????????????????????text?=?f.read()????????????except?Exception?as?e:????????????????self.msgCritical(str(e))????????????else:????????????????self.path?=?path????????????????self.txtEdit.setPlainText(text)????????????????????def?onSaveFile(self):????????if?self.path?is?None:????????????return?self.onSaveFileAs()????????self._saveToPath(self.path)????????????def?onSaveFileAs(self):????????path,_?=?QFileDialog.getSaveFileName(self,?'保存文件',?'',?'文本文件?(*.txt)')????????if?not?path:????????????return????????self._saveToPath(path)????????????def?_saveToPath(self,?path):????????text?=?self.txtEdit.toPlainText()????????try:????????????with?open(path,?'w')?as?f:????????????????f.write(text)????????except?Exception?as?e:????????????self.msgCritical(str(e))????????else:????????????self.path?=?path???????????????if?__name__?==?'__main__':????app?=?QApplication(sys.argv)????window?=?DemoPlainTextEdit()????window.show()????sys.exit(app.exec())運行結果如圖:
測試QPlainTextEdit
本文知識點
- QPlainTextEdit的基本功能;
- 使用uic在代碼中導入ui文件;
- 使用QFileDialog打開文件對話框;
- 文本文件的讀寫操作。
喜歡本文內容就收藏,點贊,評論,關注和轉發。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 自定义控件的宽高_巧用H
- 下一篇: 参数 携带 跳转_微信小程序:页面跳转及