You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取ScrolledText组件中被双击的可点击文本内容?

解决ScrolledText双击提取行文本的问题

在你的edit_entry函数中,利用Tkinter的索引定位功能就能轻松提取双击行的文本,具体实现如下:

  • 获取双击位置的行范围:通过"current linestart"和"current lineend"索引,分别定位到双击位置所在行的开头和结尾(包含换行符)
  • 提取并处理文本:用get方法获取该行内容,再去除末尾的换行符

完整的edit_entry函数代码:

def edit_entry(self, event):
    # 定位双击行的起始和结束位置
    line_start = self.contact_list.index("current linestart")
    line_end = self.contact_list.index("current lineend")
    # 提取行文本并移除换行符
    selected_entry = self.contact_list.get(line_start, line_end).strip('\n')
    # 拆分联系人信息(根据你格式化的规则)
    name, phone, email = selected_entry.split(maxsplit=2)
    # 这里添加你的编辑逻辑,比如弹窗修改信息等
    print(f"要编辑的联系人:姓名={name}, 电话={phone}, 邮箱={email}")

说明:因为你每个联系人条目后单独插入了未标记的换行符,lineend会精准定位到该行的换行位置,strip('\n')能确保得到的是纯联系人信息行。拆分时用maxsplit=2是避免邮箱或姓名里有空格的情况(如果你的格式里姓名、电话、邮箱本身不含空格,直接split()也可以)。

内容的提问来源于stack exchange,提问作者David Shaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 06:19:55