[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 01/05 16:44 / Filesize : 201 KB / Number-of Response : 720
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その12



308 名前:デフォルトの名無しさん [2012/01/11(水) 18:03:06.04 ]
tkinterのテキストボックスを検索してタグを付けたいのすが、下記のコードだと正規表現を使うと、当たり前ですがキーワードの長さが取得出来ません。"(Y|y)ou"は当然7文字カウントしてしまいます。どうしたら検索結果ぴったりにタグが付けられるのか全く思いつきません。
from tkinter import *
def search_it(keyword_from,widget):
...if "C" not in widget.mark_names():
......widget.mark_set("C","1.0")
...try:widget.tag_delete("it")
...except:pass
...keyword=keyword_from.get()
...keyword_length=len(keyword)#正規表現を使うとlengthがおかしなことになる。
...ini=widget.search(keyword,"C",exact=False,regexp=True)
...end=ini+"+"+str(keyword_length)+"chars"
...widget.tag_add("it",ini,end)
...widget.tag_config("it",foreground="#FF0000",font="arial 18 bold")
...widget.mark_unset("C")
...widget.mark_set("C",end)
...widget.see(ini)
root=Tk()
ent=Entry(root)
ent.pack()
btn=Button(root,text="search",command=lambda:search_it(ent,tex))
btn.pack()
tex=Text(root)
tex.pack()
root.mainloop()

import 2ch
try:2ch.tell_me_a_hint(search_it)#お願いします。
except:pass






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<201KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef