私は、 "YES"と "NO"ボタンを持つかなり単純なメッセージボックスをtkinterに構築しようとしていました。 "YES"ボタンを内部で押すと、ファイルにYESを書き込む必要があります。同様に、「いいえ」が押されると、ファイルにNOを書き込む必要があります。これどうやってするの?tkinterでメッセージボックスを作成するには?
答えて
Python 2.7のモジュールtkMessageBoxまたはPython 3の対応バージョンtkinter.messagebox
を使用できます。
askquestion()
はまさにあなたが望む機能です。それは文字列"yes"
または"no"
を返します。
tkinter.messageboxは私のubuntu 12.04 pythonで動作しません – Ajoy
@Ajoyあなたが持っているPythonのバージョンを調べるには、2.xの場合は 'tkMessageBox'を実行する必要があります。 – MatrixFrog
ありがとう@MatrixFrog。 tkMessageBoxは機能します。 – Ajoy
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')
は私に良い宿題の質問のように聞こえる...だからあなたはこれまで何を持っていますか? – balpha