微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在tkinter中选择除以tkinter中的特定单词开头之外的每一行?

如何解决如何在tkinter中选择除以tkinter中的特定单词开头之外的每一行?

除了以CONTROLBAR开头的行(它将通过以该单词开头的行)之外,我需要选择每一行(而不是复制,因此请用蓝色的选择内容突出显示所有内容)。我有办法吗?

注意:我正在尝试将其添加到文本小部件:

text = Text(root,height=Window_sizeX,width=Window_sizeY,xscrollcommand=xscrollbar.set,yscrollcommand=yscrollbar.set,font = (FontContainer,11),wrap='none',undo=True,autoseparators=True)

text.pack()

我要使用该代码文件是游戏专用的文件,不需要更改的命令以CONTROLBAR开头,而其他试图复制和翻译的命令则位于它们的下方,并用双引号引起来,我尝试使用re至少提取双引号之间的单词,但是它不起作用,因为这些文件有100,000行以上,而到python提取所有内容时,这花费了太多时间。这就是为什么我要选择它们,然后用ctrl + c复制并粘贴到翻译器中,获取结果并将它们粘贴在所选内容上,以便仅翻译双引号(字符串)中的单词,命令保持原样。 / p>

其中有一个专门针对游戏的字符串文件https://drive.google.com/file/d/1vc8Ah49duA8lMJbK4bV3ZGG5W1r1n4qX/view?usp=sharing

编辑:我忘了说还有一些END不需要更改

def opn():

    global file

    text.delete(1.0,END)

    with open(askopenfilename(),'r',encoding=DefaultEnco) as file:

        if file != '':

            global txt
            txt = file.read()

            text.insert(INSERT,txt)

        else:

            pass

def SelectAllQuotes():
    global txt,file
    for line in txt:
        if line.startswith(str(('"'))) and line.endswith(str(('"'))):
           text.focus()
           text.tag_add("sel",line)
           text.clipboard_clear()
           text.clipboard_append(text.selection_get())
           print('copied')

``` i made this code but it gives this error: 

```Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python\python38-32\lib\tkinter\__init__.py",line 1883,in __call__
    return self.func(*args)
  File "C:\Users\SERCE\Desktop\TEST2\Shadow's Bfme Editor - copy (2).py",line 740,in SelectAllQuotes
    text.tag_add("sel",line)
  File "C:\Python\python38-32\lib\tkinter\__init__.py",line 3825,in tag_add
    self.tk.call(
_tkinter.TclError: bad text index """

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。