pyqt5-自定义文本域1

news/2025/2/12 16:41:21/

快捷键支持:

CTRL+鼠标滚轮实现字体大小调整

支持复制当前行

剪切当前行

# 多行文本框
class TextEdit(QTextEdit):def __init__(self, parent=None):super().__init__(parent)self.setStyleSheet("background-color: #262626;color: #d0d0d0;")self.setFont(standard_font)  # 设置标准字体# Ctrl+鼠标滚轮调整字体大小def wheelEvent(self, event):# 捕捉鼠标滚轮事件modifiers = QApplication.keyboardModifiers()if modifiers == Qt.ControlModifier:# 如果按下了 Ctrl 键delta = event.angleDelta().y()font = self.font()# 根据滚轮方向调整字体大小if delta > 0:font.setPointSize(font.pointSize() + 1)else:font.setPointSize(font.pointSize() - 1)self.setFont(font)else:# 如果没有按下 Ctrl 键,则使用默认滚轮事件处理super().wheelEvent(event)# Ctrl+X,Ctrl+Cdef keyPressEvent(self, event):if event.modifiers() == Qt.ControlModifier and event.key() == Qt.Key_X:if self.textCursor().hasSelection():# If there is selected text, cut the selectionsuper().keyPressEvent(event)else:# If no text is selected, cut the entire lineself.cut_current_line()elif event.modifiers() == Qt.ControlModifier and event.key() == Qt.Key_C:if self.textCursor().hasSelection():# If there is selected text, cut the selectionsuper().keyPressEvent(event)else:# If no text is selected, cut the entire lineself.copy_current_line()else:super().keyPressEvent(event)# 剪切当前行内容def cut_current_line(self):cursor = self.textCursor()cursor.movePosition(QTextCursor.StartOfLine)cursor.movePosition(QTextCursor.EndOfLine, QTextCursor.KeepAnchor)self.setTextCursor(cursor)self.cut()# 复制当前行内容def copy_current_line(self):cursor = self.textCursor()cursor.movePosition(QTextCursor.StartOfLine)cursor.movePosition(QTextCursor.EndOfLine, QTextCursor.KeepAnchor)self.setTextCursor(cursor)self.copy()


http://www.ppmy.cn/news/1084072.html

相关文章

《Python魔法大冒险》003 两个神奇的魔法工具

魔法师:小鱼,要开始编写魔法般的Python程序,我们首先需要两个神奇的工具:Python解释器和代码编辑器。 小鱼:这两个工具是做什么的? 魔法师:你可以把Python解释器看作是一个魔法棒,只要你向它说出正确的咒语,它就会为你施展魔法。 小鱼:那这个解释器和我之前用的电…

Linux6.41 Kubernetes 对外服务之 Ingress

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes 对外服务之 Ingress一、Ingress 简介1.NodePort2.LoadBalancer3.externalIPs4.Ingress 二.Ingress 组成1.ingress2.ingress-controller3.总结 三、Ingress-Nginx 工作原理四、ingress 暴露服务的方式1.DaemonSetHostNetwor…

Understanding Black-box Predictions via Influence Functions阅读笔记

Understanding Black-box Predictions via Influence Functions阅读笔记 1.案例1----理解模型行为2.案例2----生成对抗训练样本3.案例3----调试域不匹配4.案例4----修正错误标注5. 论文代码虚拟环境创建6. 复现案例1参考 1.案例1----理解模型行为 通过告诉我们对一个给定的预测…

Linux-安装redis6.2.1及主备复制模式(replication)

Linux-安装redis6.2.1 下载redis6.2.1资源上传至安装目录解压及编译解压修改名称编译 修改配置文件主节点从节点 启动及测试启动主节点从节点 测试 下载redis6.2.1资源 地址》https://redis.io/download/ 上传至安装目录 例:/data/replication/ 解压及编译 解…

无涯教程-JavaScript - POISSON函数

POISSON函数取代了Excel 2010中的POISSON.DIST函数。 描述 该函数返回泊松分布。泊松分布的常见应用是预测特定时间的事件数。 语法 POISSON(x,mean,cumulative)争论 Argument描述Required/OptionalXThe number of events.RequiredMeanThe expected numeric value.Require…

Python爬虫抓取经过JS加密的API数据的实现步骤

随着互联网的快速发展,越来越多的网站和应用程序提供了API接口,方便开发者获取数据。然而,为了保护数据的安全性和防止漏洞,一些API接口采用了JS加密技术这种加密技术使得数据在传输过程中更加安全,但也给爬虫开发带来…

嵌入式linux轻量级sshd服务Dropbear交叉编译

下载 zlib-1.2.11.tar.gz dropbear-2020.81.tar.bz2 解压 $tar -zxvf zlib-1.2.11.tar.gz $tar -jxvf dropbear-2020.81.tar.bz2 zlib交叉编译配置 CC/usr/local/arm/network/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-gcc ./configure --prefix$PWD/install dro…

【AWS实验】 配置中转网关及对等连接

文章目录 实验概览目标实验环境任务 1:查看网络拓扑并创建基准任务 2:创建中转网关任务 3:创建中转网关挂载任务 4:创建中转网关路由表任务 4.1:创建路由表关联任务 4.2:创建路由传播 任务 5:更…