网站首页 > 技术文章 正文
多行文本输入框QTextEdit可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,还可以用来显示HTML文档。
多行文本框常用事件类型如下表所示。
方法 | 描述 |
setPlainText() | 设置多行文本框的文本内容 |
toPlainText() | 返回多行文本框的文本内容 |
setHtml() | 设置多行文本框的文本内容为HTML文档 |
toHtml() | 返回多行文本框的HTML内容 |
clear() | 清除多行文本框的内容 |
QApplication类有一个静态方法clipboard()返回QClipboard对象,对剪切板对象的引用,任何类型的MimeData都可以从剪切板复制或粘贴。
QClipboard类中的常用方法如表。
方法 | 描述 |
clear() | 清空剪切板的内容 |
setImage() | 将QImage对象复制到剪切板中 |
setMimeData() | 将MIME数据设置为剪切板 |
setPixmap() | 从剪切板中复制Pixmap对象 |
setText() | 从剪切板中复制文本 |
text() | 从剪切板中检索文本 |
程序清单:textedit.py
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget,
QTextEdit, \QPushButton, QHBoxLayout, QVBoxLayout, QLabel, QMessageBox
# 继承QWidget
class TextEditWidget(QWidget):
text_edit = None
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# 垂直布局
v_box = QVBoxLayout()
# 建议
suggest_box = QHBoxLayout()
self.text_edit = QTextEdit()
self.text_edit.setPlaceholderText("你的建议,是我们前进的动力")
suggest_box.addWidget(QLabel("建议:"))
suggest_box.addWidget(self.text_edit)
suggest_box.setStretch(1, 1)
v_box.addLayout(suggest_box)
# 复制、粘贴、清空和提交按钮
button_box = QHBoxLayout()
copy_btn = QPushButton("复制")
copy_btn.clicked.connect(self.copy)
paste_btn = QPushButton("粘贴")
paste_btn.clicked.connect(self.paste)
clear_btn = QPushButton("清空")
clear_btn.clicked.connect(self.clear)
submit_btn = QPushButton("提交")
submit_btn.clicked.connect(self.submit)
button_box.addWidget(copy_btn)
button_box.addWidget(paste_btn)
button_box.addWidget(clear_btn)
button_box.addWidget(submit_btn)
button_box.addWidget(QLabel(), 1)
button_box.setContentsMargins(40, 0, 0, 0)
v_box.addLayout(button_box)
self.setLayout(v_box)
# 调整窗口大小
self.resize(900, 500)
# 窗口居中
self.center()
# 窗口标题
self.setWindowTitle("多行文本输入框的应用")
# 显示窗口
self.show()
# 拷贝
def copy(self):
text = self.text_edit.toPlainText()
# 剪切板的文本
clipboard = QApplication.clipboard()
clipboard.setText(text)
# 粘贴
def paste(self):
# 剪切板的文本
clipboard = QApplication.clipboard()
# 以Html的格式输出多行文本框,字体红色,字号6号
self.text_edit.setHtml(clipboard.text())
# 清空
def clear(self):
self.text_edit.clear()
# 提交
def submit(self):
text = self.text_edit.toPlainText()
if text.strip() == "":
self.text_edit.setFocus()
QMessageBox.warning(self, "内容为空",
"建议空空如也,请输入你的宝贵意见",
QMessageBox.Ok)
else:
QMessageBox.information(self, "提交成功",
"你的宝贵意见,我们收到了,谢谢你",
QMessageBox.Ok)
# 实现居中
def center(self):
f = self.frameGeometry()
c = QDesktopWidget().availableGeometry().center()
f.moveCenter(c)
self.move(f.topLeft())
if __name__ == "__main__":
app = QApplication(sys.argv)
w = TextEditWidget()
sys.exit(app.exec_())
运行程序之后,弹出的窗口如下:

好了,多行文本框的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!
- 上一篇: Pandas中根据列的值选取多行数据,四种方法!
- 下一篇: Python 100个函数及代码!码住
猜你喜欢
- 2025-01-07 Python—文件操作 拿捏!
- 2025-01-07 Python入门:学习Python注释,绘制一个等边三角形
- 2025-01-07 Python subprocess模块用法详解
- 2025-01-07 Python for循环及用法详解
- 2025-01-07 python入门--使用Pandas读取与写入Excel内容
- 2025-01-07 用列表推导式编写更优秀的Python代码
- 2025-01-07 Python循环全攻略:从基础到高级技巧,掌握自动化编程的艺术
- 2025-01-07 10 个相见恨晚的 Python 操作
- 2025-01-07 云计算开发学习笔记:Python3注释
- 2025-01-07 用python编写的学生管理系统,版本1.0版
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)