首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Python中单词的定义?

更改Python中单词的定义?
EN

Stack Overflow用户
提问于 2017-04-01 19:12:13
回答 1查看 153关注 0票数 0

双击Text-widget中的单词时,将选择单击的单词。然而,Tkinter对单词是什么的理解对于我的用例来说是不切实际的。

艾芬特解释了Tkinter认为是一个词,但没有解释如何改变这个词。是否有可能改变Tkinter对一个单词的定义,使它将连字符识别为单词的一部分?也就是说,我想通过双击选择一个文本,比如--help--version-U

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-01 21:18:27

答案中,curtisk提供了到Bryan的链接,指出这是不可能的:

您不能修改"wordstart“如何定义”word“。

但是基于他的回答,我开发了下面的方法select_current_word,代码只是为了说明它的用法。

代码语言:javascript
复制
import Tkinter as tk

class MyText(tk.Text):

     def __init__(self, **kw):
         tk.Text.__init__(self, **kw)
         self.bind('<Double-Button-1>', self.select_current_word)

     def select_current_word(self, event):
         i0 = self.search(r'[-\w]+', tk.CURRENT+'+1c', backwards=True, regexp=True)
         i1 = self.search(r'[^-\w]+', i0, forwards=True, regexp=True)
         self.tag_remove(tk.SEL, '1.0', tk.END)
         self.tag_add(tk.SEL, i0, i1)
         self.update()
         return 'break'

if __name__=='__main__':
     t = MyText()
     t.pack(expand=True, fill=tk.BOTH)
     t.insert('1.0', """
Options:
  General Options:
     -h, --help                       Print this help text and exit
     --version                        Print program version and exit
     -U, --update                     Update this program to latest version.
""".strip())
     t.mainloop()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43160936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档