ボタンのクリックをテキストファイルに保存する方法を知っている人がいますか?たとえば、 "hello"という文字列のボタンが押された場合、それはテキストファイルに保存され、「こんにちは」ボタンが押されたことを示します。ボタンをテキストファイルに保存する方法はありますか?
0
A
答えて
0
いいえ、何も組み込まれていません。カスタムバインディングを追加する必要があります。
たとえば、Button
クラスにクラスバインディングを追加できます。たとえば:もちろん
def log_buttonpress(self, event):
with open("/tmp/log.txt", "a+") as f:
f.write("=> " + event.widget.cget("text") + "\n")
は、これが唯一のマウスでクリックをキャプチャします:
root.bind_class("Button", "<ButtonPress-1>", log_buttonpress, add="+")
あなたは、このようになりますlog_buttonpress
と呼ばれるメソッドを定義することができます。キーボードを使用してクリックされたボタンはキャプチャされません。また、ボタンを離すまでボタンのコマンドは呼び出されないので、クリックされたが実際にはアクティブ化されなかったボタンがログに記録される可能性があります。これらの問題は解決できますが、より多くのコードが必要です。これは一般的な概念であり、カットアンドペーストのソリューションではありません。
Button
という独自のサブクラスを作成し、この特殊バインディングを各インスタンスに追加する別の方法です。バインドタグを使用すると、すべてのインスタンスに特別なタグを追加することができ、そのタグに対して単一のバインディングを持たせるだけで済みます。例えば
:
class MyButton(tk.Button):
def __init__(self, *args, **kwargs):
tk.Button.__init__(self, *args, **kwargs)
bindtags = list(self.bindtags())
bindtags.insert(1, "MyButton")
self.bindtags(tuple(bindtags))
@classmethod
def log_button(cls, event):
with open("/tmp/junk.txt", "a+") as f:
f.write("?> " + event.widget.cget("text") + "\n")
...
root = tk.Tk()
root.bind_class("MyButton", "<ButtonRelease-1>", MyButton.log_button)
b1 = MyButton(...)
b2 = MyButton(...)
+0
ありがとうございました:)これは私をとても助けました:) – Supertraff
関連する問題
- 1. クエリ結果をテキストファイルにプログラムで保存する方法はありますか?
- 2. ckeditorで保存ボタンを無効にする方法はありますか?
- 3. ハイスコアをテキストファイルに保存する方法
- 4. タイマーをデータベースに保存する方法はありますか?
- 5. ファイルをicloudに保存する方法はありますか?
- 6. テキストファイルに保存されたキーを保存する方法
- 7. XMLフォーマット設定をプロジェクトに保存する方法とワークスペースを保存する方法はありますか?
- 8. Android/Java:メソッドを保存する方法はありますか?
- 9. Animation.Artistアニメーションを保存する方法はありますか?
- 10. これをテキストファイルではなくメモリに保存する方法はありますか?
- 11. QTを使用してMYSQLデータベースにテキストファイルを保存する方法はありますか?
- 12. Java - すでに存在しないテキストファイルを開く方法はありますか?存在する場合は追加する方法はありますか?
- 13. ローカルにデータを保存するより良い方法はありますか?
- 14. アクションをコンソールウィンドウにテキストファイルに保存する方法は?
- 15. テキストファイルのテキストボックスからテキストを保存する方法は?
- 16. ローカルHTMLの内容をテキストファイルとして保存(変更)する方法はありますか?
- 17. テキストファイルをインポートしてデータをデータベースに保存する方法は?
- 18. HTML/PHPフォームからテキストファイルにデータを保存する方法
- 19. 複数のテキストボックスからテキストファイルにデータを保存する方法
- 20. は、セッション間にブックマークを保存する方法はありますか?
- 21. リストビューの内容をアンドロイドのテキストファイルに保存する方法は?
- 22. C++で文章をテキストファイルに保存する方法は?
- 23. Google Transliteration API:入力をテキストファイルに保存する方法は?
- 24. マップ結果をSpark scalaのテキストファイルに保存する方法は?
- 25. STDOUT出力をテキストファイルに保存する方法は?
- 26. テキストファイルの内容をJavascript変数に保存する方法は?
- 27. ボタンには文字列を保存するプロパティがありますか?
- 28. Swift:シングルトンよりcurrentUserを保存する他の方法はありますか?
- 29. このデータベースを保存するより良い方法はありますか?
- 30. どこにGoogle Playデベロッパーコンソールの[保存]ボタンがありますか
あなたは、あなたがそれを行うには、いくつかの機能を割り当てることができ、すべてのボタンとコマンド '='や 'バインド()'を使用する場合。 – furas