【发布时间】:2010-11-06 08:22:30
【问题描述】:
我一直在尝试在 tkinter 中构建一个相当简单的消息框,其中包含“是”和“否”按钮。当我在内部按下“YES”按钮时,它必须将 YES 写入文件。同样,当按下“NO”时,必须将 NO 写入文件。我该怎么做?
【问题讨论】:
-
对我来说听起来像是一个很好的家庭作业问题......那么,到目前为止你有什么?
标签: python tkinter messagebox
我一直在尝试在 tkinter 中构建一个相当简单的消息框,其中包含“是”和“否”按钮。当我在内部按下“YES”按钮时,它必须将 YES 写入文件。同样,当按下“NO”时,必须将 NO 写入文件。我该怎么做?
【问题讨论】:
标签: python tkinter messagebox
您可以使用用于 Python 2.7 的模块 tkMessageBox 或用于 Python 3 的相应版本 tkinter.messagebox。
看起来askquestion() 正是您想要的功能。它甚至会为您返回字符串"yes" 或"no"。
【讨论】:
tkMessageBox。
以下是在 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')
【讨论】:
您不需要任何其他模块来执行此操作!
from tkinter import messagebox
messagebox.showerror("Title", "Message")
【讨论】: