当前位置: 首页 > news >正文

PySide6 使用搜索引擎搜索 多类实现

文章目录

    • 使用搜索引擎搜索 多类实现
      • 为什么写这篇文章?
      • 核心逻辑
      • 参考
      • 代码实现
        • 行文本编辑(QLineEdit)
        • 文本编辑(QTextEdit)
        • 纯文本编辑器(QPlainTextEdit)
      • 帮助网页(扩展)
        • 实现逻辑

使用搜索引擎搜索 多类实现

为什么写这篇文章?

这篇文章是模仿win10记事本,使用必应搜索的实现。

核心逻辑

  1. 借助QDesktopServices.openUrl()方法打开对应url网页
  2. 设置必应Bing搜索url => 字符串类型
  3. QPlainTextEditQTextEdit文本光标(QTextCursor)的选中文本(selectedText)方法 结合2来传入搜索信息

参考

QT怎样获取TextEdit中选中的文本

修改搜索引擎

代码实现

行文本编辑(QLineEdit)
# coding = utf-8from PySide6.QtWidgets import (QWidget,QLineEdit,QPushButton,QVBoxLayout,QApplication)
from PySide6.QtGui import QDesktopServices
import sysclass DefindSearch(QWidget):def __init__(self):super().__init__()self.setupUi()self.setEventBind()def setupUi(self):"""设置界面"""# 主布局使用垂直布局vbox = QVBoxLayout(self)# 创建文本编辑 以及 按钮self.lineEdit = QLineEdit()self.searchPushBtn = QPushButton("使用默认浏览器搜索")# 添加控件到部件vbox.addWidget(self.lineEdit)vbox.addWidget(self.searchPushBtn)def setEventBind(self):"""设置事件绑定"""self.searchPushBtn.clicked.connect(self.getHelp)def getSearchStr(self) -> str:"""获取搜索字符串:return: 搜索字符串"""return self.lineEdit.text()def deskSearch(self):   """使用默认应用查找"""searchStr = self.getSearchStr()url = f"https://cn.bing.com/search?q={searchStr}"QDesktopServices.openUrl(url)def getHelp(self):"""获取帮助"""url = "https://gitee.com/BasterHapy/note-pad/tree/develop/"QDesktopServices.openUrl(url)if __name__ == "__main__":app = QApplication(sys.argv)deSearch = DefindSearch()deSearch.show()sys.exit(app.exec())
文本编辑(QTextEdit)
# coding = utf-8from PySide6.QtWidgets import (QWidget,QTextEdit,QPushButton,QVBoxLayout,QApplication)
from PySide6.QtGui import QDesktopServices
import sysclass DefindSearch(QWidget):def __init__(self):super().__init__()self.setupUi()self.setEventBind()def setupUi(self):"""设置界面"""# 主布局使用垂直布局vbox = QVBoxLayout(self)# 创建文本编辑 以及 按钮self.textEdit = QTextEdit()self.searchPushBtn = QPushButton("使用默认浏览器搜索")# 添加控件到部件vbox.addWidget(self.textEdit)vbox.addWidget(self.searchPushBtn)def setEventBind(self):"""设置事件绑定"""self.searchPushBtn.clicked.connect(self.deskSearch)def getSearchStr(self) -> str:"""获取搜索字符串:return: 搜索字符串"""return self.textEdit.textCursor().selectedText()def deskSearch(self):   """使用默认应用查找"""searchStr = self.getSearchStr()url = f"https://cn.bing.com/search?q={searchStr}"QDesktopServices.openUrl(url)if __name__ == "__main__":app = QApplication(sys.argv)deSearch = DefindSearch()deSearch.show()sys.exit(app.exec())
纯文本编辑器(QPlainTextEdit)

与文本编辑器类似,参考我的记事本项目

帮助网页(扩展)

实现逻辑
  • 借助QDesktopServices.openUrl()方法打开对应url网页
    参考代码
http://www.dtcms.com/a/506824.html

相关文章:

  • 东莞市外贸网站建设公司自己做投票的网站
  • 网站建设的基础服务器专业建站公司的业务内容
  • 【iOS】KVC 与 KVO 的基本了解与使用
  • Day66 DHT11温湿度传感器驱动开发与单总线通信协议
  • 【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server
  • bash:**:pip:***python: 错误的解释器: 没有那个文件或目录
  • OpenCV(十二):Mat
  • iOS 智能应用开发实践:从模型集成到场景化交互
  • 更好的网站制作系统平台
  • 佛山市手机网站建设网站建设管理工作情况的通报
  • ThinkPad 安装 Ubuntu 系统教程
  • 《未来的 AI 操作系统(四)——AgentOS 的内核设计:调度、记忆与自我反思机制》
  • Platform Health Management 与 EXM/STM 的集成实现方式
  • lambda怎么遍历集合
  • 国外客户推广网站做羞羞事的网站
  • 安装好PySide6后如何找到Qt Designer(pyside6-designer.exe)可执行文件
  • EIT/ERT技术在机器人触觉传感的硬件及电路实现
  • h5游戏免费下载:公园停车
  • FPGA 49 ,Xilinx Vivado 软件术语解析(Vivado 界面常用英文字段详解,以及实际应用场景和注意事项 )
  • 自动化漏洞利用技术颠覆传统:微软生态暴露的攻防新变局
  • Annals of Neurology | EEG‘藏宝图’:用于脑电分类、聚类与预测的语义化低维流形
  • 中小学网站建设有什么好处管理系统软件开发
  • uniapp canvas实现手写签字功能(包括重签,撤回等按钮)
  • 大语言模型如何精准调用函数—— Function Calling 系统笔记
  • 商业智能BI 浅谈数据孤岛和数据分析的发展
  • Chrome 浏览器扩展图片 提取大师
  • Uniapp微信小程序开发:修改了数据,返回父页面时,父页面数据重新加载
  • etcd-问题-调优-监控
  • 【国内电子数据取证厂商龙信科技】手机版Chrome调试方法
  • 做企业网站要怎么设计方案信产部网站备案