我一直在尝试在tkinter中构建一个相当简单的消息框,其中包含“YES”和“NO”按钮。当我在内部按下“YES”按钮时,它必须转到并向文件写入YES。类似地,当按下“NO”时,必须将NO写入文件。我怎么能这样做?
答案 0 :(得分:19)
您可以将模块tkMessageBox用于Python 2.7或相应版本的Python 3称为tkinter.messagebox
。
看起来askquestion()
正是您想要的功能。它甚至会为您返回字符串"yes"
或"no"
。
答案 1 :(得分:10)
以下是使用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()
答案 2 :(得分:8)
您可以将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')
答案 3 :(得分:0)
您不需要任何其他模块来完成此操作!
from tkinter import messagebox
messagebox.showerror("Title", "Message")