日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit

發布時間:2024/7/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文本编辑器查看 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。