私は、「はい」と「いいえ」のボタンを持つかなり単純なメッセージボックスをtkinterで構築しようとしています。内部で「はい」ボタンを押すと、ファイルに「はい」と書き込む必要があります。同様に、「NO」を押すと、ファイルにNOを書き込む必要があります。これどうやってするの?
モジュール tkMessageBox for Python 2.7または対応するバージョンのPython 3は_tkinter.messagebox
_と呼ばれます。
askquestion()
はまさにあなたが望む関数のようです。文字列_"yes"
_または_"no"
_も返されます。
Python 2.7のメッセージボックスを使用して質問する方法は次のとおりです。具体的にはモジュールtkMessageBox
が必要です。
from Tkinter import *
import tkMessageBox
root = Tk().withdraw() # hiding the main window
var = tkMessageBox.askyesno("Title", "Your question goes here?")
filename = "log.txt"
f = open(filename, "w")
f.write(str(var))
print str(var) + " has been written to the file " + filename
f.close()
askquestion
関数の戻り値を変数に割り当ててから、変数をファイルに書き込むだけです。
from tkinter import messagebox
variable = messagebox.askquestion('title','question')
with open('myfile.extension', 'w') as file: # option 'a' to append
file.write(variable + '\n')