問題タブ [tkinter.text]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
12123 参照

python - Tkinter のテキスト検索方法を説明する

text.search メソッドの仕組みがよくわかりません。たとえば、次のような文があります。シーケンスToday a red car appeared in the park.を見つけて強調表示する必要があります。a red car見つかりましたが、私の強調表示は次のようになります。

ここに画像の説明を入力

ここに画像の説明を入力

self.text.search(word, start, stopindex=END)文で使っています。そして、検索方法はPythonの正規表現検索とまったく同じように機能するようです。追加exact=Trueはデフォルトの動作であるため、何も変更しませんでした。そのため、exact=True が実際に何を意味するのか理解できません。a red car正しく強調表示するにはどうすればよいですか?

0 投票する
1 に答える
1054 参照

python - Tkinter Text ウィジェットの特定の単語を置き換えます

Tkinter Text ウィジェット内の特定の単語のすべてのインスタンスを置き換える方法があるかどうか疑問に思っていました。
例えば

これが私のテキスト ウィジェットであるとします。
Hello how are you? How is the weather?

ボタンを押して、「how」という単語のすべてのインスタンスを「python」という単語に置き換えたい

Hello python are you? python is the weather?

おそらく search() 関数を使用する必要がありますが、そこから何をすればよいかわかりませんでした。

ご協力いただきありがとうございます :)

0 投票する
1 に答える
420 参照

python - 文字列が Tkinter Text Widget の単語または単語の一部であるかどうかを確認します

私は tkinter テキスト ウィジェットのスペルチェッカーに取り組んでいます。ユーザーが間違った単語を選択し、テキスト ウィジェット内の間違った単語のすべてのインスタンスを置き換えることができるように、私はそれを機能させました。ただし、単語が別の単語にある場合は、それも置き換えられます。私はこれをしたくありません。

例: ユーザーが次の文を持っていたとします: Hello how ay you today And they've miss spelled a word ' are ' as ' ay ', they've wrong it to replace all instances or word ' ay ' with ' are '.

私の問題は、文字列「ay」が「today」に表示されることです。つまり、ユーザーが ' ay 'を右クリックすると、' today ' が ' todare ' に変わります - ' today 'の ' ay ' が' are 'に置き換えられます。

単語を置き換えるには、検索機能を使用しています。スペルミスの単語の両側の文字がスペースであるかどうかを確認することを考えましたが、それを実装する方法がわかりませんでした。以下は私のコードです (注 - これは非常に単純化されており、実際のコードは数千行の長さです。実際のプログラムでは、ボタンはコンテキスト メニューです)。

前に言ったように、ユーザーll ll helloが ' ll ' のスペルが間違っている場合 (プログラムがそれを I'll に修正するとしましょう)、ユーザーがボタンを押すと、 ' ll ' と書かれたすべての単語を置換する必要がありますが、置換はしません。 「hello 」の「ll」。

これ: ll ll hello -> I'll I'll helloNOT: ll ll hello ->I'll I'll heI'llo

ご協力いただきありがとうございます。

(私は Python 3.7 で Windows 10 を使用しています)