如何使用tkinter创建消息框?

时间:2009-06-27 08:48:37

标签: python tkinter messagebox

我一直在尝试在tkinter中构建一个相当简单的消息框,其中包含“YES”和“NO”按钮。当我在内部按下“YES”按钮时,它必须转到并向文件写入YES。类似地,当按下“NO”时,必须将NO写入文件。我怎么能这样做?

4 个答案:

答案 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")