I've been trying to build a fairly simple message box in tkinter that has "YES" and "NO" buttons. When I push the "YES" button internally it must go and write YES to a file. Similarly, when "NO" is pushed, NO must be written to a file. How can I do this?
问问题
59700 次
5 回答
21
You can use the module tkMessageBox for Python 2.7 or the corresponding version for Python 3 called tkinter.messagebox
.
It looks like askquestion()
is exactly the function that you want. It will even return the string "yes"
or "no"
for you.
于 2009-06-27T08:54:42.357 回答
12
下面介绍如何使用 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()
于 2012-07-16T01:06:29.147 回答
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')
于 2012-12-10T09:10:44.450 回答
0
您可以使用message box
Tkinter 使用
# For python 3 or above
from tkinter import messagebox
# For python less than 3
from Tkinter import *
import tkMessageBox
这是基本语法:
messagebox.Function_Name(title, message [, options])
消息框是模态的,将根据用户的选择返回 (True, False, OK, None, Yes, No) 的子集。
因此,要获取消息框的值,您只需将值存储在变量中。下面给出一个例子:
res=mb.askquestion('Exit Application', 'Do you really want to exit')
if res == 'yes' :
root.destroy()
有不同类型的消息框或 Function_name:
- showinfo():向用户显示一些相关信息。
- showwarning():向用户显示警告。
- showerror():向用户显示错误信息。
- askquestion():提出问题,用户必须回答是或否。
- askokcancel():确认用户对某些应用程序活动的操作。
- askyesno():用户可以对某些操作回答是或否。
- askretrycancel():询问用户是否再次执行特定任务。
- 消息:创建一个默认的信息框,或与 showinfo 框相同。
messagebox.Message(master=None, **options)
# Create a default information message box.
您甚至可以传递您自己的标题、消息,甚至修改其中的按钮文本。
您可以在消息 boz 中传递的内容:
- title:此参数是一个字符串,显示为消息框的标题。
- message:此参数是要在消息框上显示为消息的字符串。
- 选项:有两个选项可以使用:
- default:此选项用于指定消息框中的默认按钮,如 ABORT、RETRY 或 IGNORE。
- parent:此选项用于指定要在其上显示消息框的窗口。
我用于此答案的链接:
于 2022-02-23T14:29:41.073 回答
0
您不需要任何其他模块来执行此操作!
from tkinter import messagebox
messagebox.showerror("Title", "Message")
于 2020-11-29T13:17:24.653 回答