私はText
ウィジェットをロックして、ユーザがテキストを選択してコピーすることができるようにしますが、それでも関数などでText
にテキストを挿入することはできますか?テキストウィジェットへの入力を無効にするが、プログラム入力を許可する方法は?
7
A
答えて
9
テキストウィジェットを無効にしてみましたか?
text_widget.bind("<1>", lambda event: text_widget.focus_set())
をあなたがウィジェットを無効にした場合:
text_widget.configure(state="disabled")
いくつかのプラットフォームで、あなたもそうでない場合はコピーのハイライトが表示されない、ウィジェットにフォーカスを与えることを<1>
に拘束を追加する必要があります、あなたは、単にNORMAL
- 変更するには、ウィジェットの状態を必要とするプログラム的に挿入しますその後、テキスト、および
- 変更nsert状態が戻って
DISABLED
に限り、あなたはそれの真ん中にupdate
を呼び出さないよう、ユーザーが対話的に何も入力できるようにするための方法はありません。
1
申し訳ありません私はパーティーに遅れていますが、このページではあなたと同じソリューションを探していました。
デフォルトでTextウィジェットを無効にしてから、それを入力して機能の最後にもう一度「無効」にする機能の冒頭で「通常」にすると、
def __init__():
self.output_box = Text(fourth_frame, width=160, height=25, background="black", foreground="white")
self.output_box.configure(state="disabled")
def somefunction():
self.output_box.configure(state="normal")
(some function goes here)
self.output_box.configure(state="disable")
0
私はstate = "normal"/state = "disabled"解決策にも遭遇しましたが、テキストを選択してコピーすることができません。最後に、以下の解決策を見つけました:Is there a way to make the Tkinter text widget read only?このソリューションでは、テキストを選択してコピーし、ハイパーリンクをたどることができます。
import Tkinter
root = Tkinter.Tk()
readonly = Tkinter.Text(root)
readonly.bind("<Key>", lambda e: "break")
関連する問題
- 1. 許可を保持している間に入力/非入力のボタンを無効/有効にする方法
- 2. ASP .NETテキストボックスへの入力を無効にする方法
- 3. 無効入力無効入力
- 4. DataGridViewはSystem Generated入力のみを許可し、手動入力を無効にできますか?
- 5. 入力時にフォールトを許可する
- 6. Excel VBA:マクロにセル入力のみを許可する方法
- 7. IEのファイル入力テキストボックスを無効にする方法は?
- 8. UITableViewCellでの入力を許可する
- 9. AngularJS入力無効スイッチオン入力を無効にしました
- 10. Vueの入力を無効にする
- 11. selectizeの入力を無効にする
- 12. Djangoフォームで入力履歴を無効にする方法は?
- 13. イオン入力を無効にする方法は?
- 14. macOsでキーボード入力を無効にする方法は?
- 15. ループ入力中に無効な入力
- 16. 入力をシミュレートする方法を無効にしますか?
- 17. Matlab GUIの `edit text`でベクトル入力を許可する方法
- 18. 入力フォームのスペースを許可する方法
- 19. ユーザ入力の数字だけを許可する方法
- 20. Javascript setTimeout入力を無効にする
- 21. 入力フィールドを無効にする
- 22. 入力を無効に設定する
- 23. 入力ボタンを無効にする
- 24. ngbDatepicker入力を無効にする
- 25. テキストボックスへの小数点の入力を無効にする
- 26. Python SQL、無効な入力を入力した後にプログラムを続ける方法
- 27. datePickerの自動入力機能を無効にする方法
- 28. symfony 3コントローラの入力を無効にする方法
- 29. テキストエリアでのテキスト入力を無効にする方法
- 30. 入力フィールドの1つを無効にする方法
はい、私は持っていますが、ドキュメントによれば、それは関数などからでも何かを入力できません。 –
@PsychicOak:もちろん。しかし、プログラムで挿入するには、状態を「通常」に設定し、テキストを挿入し、状態を「無効」にリセットするだけです。私はその情報を含めるために私の答えを更新しました。 –
* sigh *今私は愚かだと感じる>。>笑、ありがとう!あなたはxDを受け入れることができるときにあなたのポイントを得るでしょう –