在文本小部件中搜索单词/字母 (tkinter)

2023-12-02

我将如何添加在文本小部件中搜索文本的搜索功能? * 根据用户输入进行搜索

def openFile():
    global text
    artiststxt = tkinter.Tk()
    artiststxt.title('Artists')
    artiststxt.geometry('300x360')
    artiststxt.minsize(300,360)
    artiststxt.maxsize(500,360)
    file = open('Artists.txt','r', encoding='utf-8')
    lines = file.read()
    scrollbar = Scrollbar(artiststxt, jump = 1)
    text = Text(artiststxt, yscrollcommand = scrollbar.set)
    scrollbar.configure(command=text.yview)
    text.insert(INSERT, lines)
    text.config(font=('Fixedsys', 15), fg = 'darkblue', bg = 'lightgray')
    menu = tkinter.Menu(artiststxt,tearoff=0)
    menu.add_command(label='Save', command = saveFile)
    artiststxt.config(menu=menu)
    scrollbar.pack(side=RIGHT, fill=BOTH)
    text.pack()

编辑: 好的,我知道如何用这个搜索文本:

def get(event):
global searchent
text.tag_remove('found', '1.0', END)
s = searchent.get()
if s:
    idx = '1.0'
    while 1:
        idx = text.search(s, idx, nocase=1, stopindex=END)
        if not idx: break
        lastidx = '%s+%dc' % (idx, len(s))
        text.tag_add('found', idx, lastidx)
        idx = lastidx
    text.tag_config('found', foreground='red')
searchent.focus_set()

现在,假设搜索到的文本位于更下方。如何使滚动条向下滚动到搜索到的文本?


好吧,我明白了。花了一些时间但非常值得。

首先,我们在窗口中创建一个输入框,并将其与回车键绑定并放置一个 .get 事件

searchent.bind("<Return>", get)

当按下回车键时,我们进入def get(event):

def get(event):
global searchent 
text.tag_remove('found', '1.0', END)
s = searchent.get() # Grabs the text from the entry box
if s:
    idx = '1.0'
    while 1:
        idx = text.search(s, idx, nocase=1, stopindex=END)
        if not idx: break
        lastidx = '%s+%dc' % (idx, len(s))
        text.tag_add('found', idx, lastidx)
        idx = lastidx
        text.see(idx)  # Once found, the scrollbar automatically scrolls to the text
    text.tag_config('found', foreground='red')
searchent.focus_set()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在文本小部件中搜索单词/字母 (tkinter) 的相关文章

  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 我可以在 matplotlib 中的绘图左侧放置一个垂直颜色条吗?

    来自颜色条方法的 matplotlib 命令摘要 http matplotlib org api pyplot api html highlight colorbar matplotlib pyplot colorbar我知道关键字参数or
  • 如何在Python + Selenium中获取元素的值

    我在我的 Python 3 6 3 代码中得到了这个 HTML 元素 作为 Selenium网页元素当然 span class ocenaCzastkowa masterTooltip style color 000000 alt 5 sp
  • 删除 tkinter 文本默认绑定

    我正在制作一个简单的 tkinter 文本编辑器 但我想要所有默认绑定文本小部件如果可能的话删除 例如当我按Ctrl i它默认插入一个制表符 我制作了一个事件绑定来打印文本框中有多少行 我将事件绑定设置为Ctrl i以及 当我运行它时 它会
  • Discord.py 斜线命令在 cogs 中不起作用

    我正在构建一个不和谐的机器人 并且想要在 cogs 内使用斜杠命令 但这些命令不显示或工作 这是代码 cog guild ids 858573429787066368 861507832934563851 class Slash comma
  • DataFrame.loc 的“索引器太多”

    我读了关于切片器的文档 http pandas pydata org pandas docs stable advanced html using slicers一百万次 但我从来没有理解过它 所以我仍在试图弄清楚如何使用loc切片Data
  • 为什么我会收到 ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

    以下代码给出了值错误 major males for row in recent grads if recent grads Men gt recent grads Women major males append recent grads
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • Python 中“is”运算符的语义是什么?

    如何is运算符确定两个对象是否相同 它是如何工作的 我找不到它的记录 来自文档 http docs python org reference datamodel html 每个对象都有一个身份 一个类型 和一个值 对象的身份 一旦发生就永远
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • 在字符串内打印单引号

    我想输出 XYZ s ABC 我在Python IDLE中尝试了以下3条语句 第一条和第二条语句输出 a before 带打印功能的第三条语句不输出 before 作为 Python 新手 我想了解为什么 之前输出 在第 1 条和第 2 条
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 将函数按元素应用于两个 DataFrame

    如何应用函数z ij f x ij y ij 来自数据框X and Y相同大小并将结果保存到 DataFrameZ 这取决于你有什么样的功能 很多功能已经被矢量化为数据框 例如 等等 所以对于这些功能 你可以简单地做Z X Y or Z X
  • 如何在不同的目录中执行python脚本?

    Solved对于可能觉得这有帮助的人 请参阅下面我的答案 我有两个脚本 a py 和 b py 在我当前的目录 C Users MyName Desktop MAIN 中 我运行 gt python a py 第一个脚本 a py 在我当前
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp

随机推荐

  • google api 机器学习 我可以使用 API KEY 吗?

    出于学习目的 我尝试使用机器学习 ml API https cloud google com ml engine reference rest v1 projects models list 我无法确定是否可以使用 API KEY 而不是
  • 限制表中数据范围的声明性方法

    我想学习一种声明性方法来解决我不时遇到的与独占日期范围相关的数据约束问题 下面是一个简化的示例 我有物品和这些物品的价格 我希望价格的有效日期范围是相互排斥的 没有重叠 据我了解 Oracle 的情况 用户定义的函数不符合使用条件CONST
  • 从 C 到 Java 传递指针变成 NULL

    我正在开发一个适用于 x86 的 Android 应用程序 需要与 C 进行一些集成 我一直在使用 swig JNI 来实现这一点 并且大部分情况都运行顺利 然而 指针给了我一些错误 我的问题是 我能够成功引用模拟器 ARM 中的变量地址
  • 来自索引 URL 的 Angular2 查询参数

    我正在尝试从 Angular2 组件中的 url 获取查询参数 版本 angular2 npm 电子邮件受保护 我正在尝试提取组件中的 id 查询参数并显示它 这是请求 本地主机 8080 index html id 1 boot ts i
  • Oracle SQL 比较日期

    SQL gt select from porder OID BILL ODATE 10 200 06 OCT 13 4 39878 05 OCT 13 5 430000 05 OCT 13 11 427 06 OCT 13 12 700 0
  • 选择十进制形式的浮点数

    我在 PostgreSQL 表中有一个小数字 test CREATE TABLE test r real CREATE TABLE test INSERT INTO test VALUES 0 00000000000000000000000
  • 通过 ACE.OLEDB 从 Excel 进行 sqlbulkcopy 将文本截断为 255 个字符

    使用 SqlBulkCopy 非常直接的导入 string excelConnectionString Provider Microsoft ACE OLEDB 12 0 Data Source filePath Extended Prop
  • 暂存实例还是生产实例?

    服务运行时中是否有任何地方可以告诉我当前是在 暂存 还是 生产 上运行 在生产环境中手动修改配置似乎有点麻烦 当您处于 Prod 或 Staging 状态时 您确实不应该更改配置 暂存区域并非设计为 QA 环境 而只是部署生产之前的等待区域
  • 《Java 8 in Action》提供的演示有误吗?

    这段代码是引用自Java 8 实践 这也在书 11 4 3 中 public Stream
  • JSON.parse 是用什么写的/它是开源的吗?

    PHP 函数是用 C 编写的 如果您愿意 可以查看源代码 例如这里 会话启动源 那么 JavaScript 呢 像 JSON parse 这样的函数是如何实现的 我可以去哪里查看源码 Thanks JSON parse 是原生的 这意味着它
  • Solr DataImportHandler 配置

    我想在 DataImportHandler 的帮助下从 mysql 数据库获取数据 这样我就可以创建索引 现在我已经配置了 Solr 实例 以便它可以在 Tomcat 示例管理页面 上运行 但如果我尝试更改 sorlconfig xml 文
  • 排序数组列表方法很慢

    首先要说的是 我看到了非常相似的问题 但我认为这不是重复的 我需要对字符串数组列表进行排序 其中列表成员的格式为ID NAME以及哪里ID是某个数字并且name一些字符串 我使用的第一个想法很简单 ArrayList
  • 检查用户名是否已存在于数据库 MySQL PHP [重复]

    这个问题在这里已经有答案了 我制作了一个 Registration php 页面 我需要检查用户名是否已在我的数据库中 这样我就不会有 2 个同名的成员 以下是我将用户信息插入数据库的方法 用户名 密码 注册日期等 mysql query
  • 将箭头样式函数转换为“函数”样式

    我有一个这样的函数 const jsonObject a b c const x a b const properties x split const item properties reduce obj prop gt obj obj p
  • C++11:intptr_t/int_ptr_t、intmax_t/int_max_t?

    我正在阅读一些关于 c 11 的文章 我注意到一些关于 int 类型名称的事情 目前 显然该规范只能通过付费才能获得 但二月份的早期草案可在http www open std org jtc1 sc22 wg21 docs papers 2
  • 如何从 calcOpticalFlowFarneback 中提取像素的速度矢量

    我一直在寻找提取两帧中每个像素的速度向量 我使用 opencv 函数作为流程 calcOpticalFlowFarneback Previous Gray Current Gray Optical Flow 0 5 3 15 3 5 1 2
  • 类型“Key”不能用于索引类型“Object”

    尝试用声音类型实现功能性的拨动 但我做错了一些事情 function pluck key Key o Object gt Object Key return object gt object key TS错误 类型 Key 不能用于索引类型
  • 在 jquery ajax 中从 JS 端的 JsonResult 获取属性

    我返回以下对象 JsonResult return new JsonResult Data new ErrorMessage message ContentEncoding System Text Encoding UTF8 JsonReq
  • Powershell 无法从命令提示符创建 Outlook COM 对象

    我有一个用于从命令提示符通过 Microsoft Outlook 发送邮件的脚本 如果我从 PowerShell 或 ISE 控制台内部运行它 则效果很好 但是 当我尝试从经典 Windows 命令提示符 cmd exe 执行相同操作时 即
  • 在文本小部件中搜索单词/字母 (tkinter)

    我将如何添加在文本小部件中搜索文本的搜索功能 根据用户输入进行搜索 def openFile global text artiststxt tkinter Tk artiststxt title Artists artiststxt geo