【问题标题】:How to create a message box with tkinter?如何使用 tkinter 创建消息框?
【发布时间】:2010-11-06 08:22:30
【问题描述】:

我一直在尝试在 tkinter 中构建一个相当简单的消息框,其中包含“是”和“否”按钮。当我在内部按下“YES”按钮时,它必须将 YES 写入文件。同样,当按下“NO”时,必须将 NO 写入文件。我该怎么做?

【问题讨论】:

  • 对我来说听起来像是一个很好的家庭作业问题......那么,到目前为止你有什么?

标签: python tkinter messagebox


【解决方案1】:

您可以使用用于 Python 2.7 的模块 tkMessageBox 或用于 Python 3 的相应版本 tkinter.messagebox

看起来askquestion() 正是您想要的功能。它甚至会为您返回字符串"yes""no"

【讨论】:

  • tkinter.messagebox 在我的 ubuntu 12.04 python 中不起作用
  • @Ajoy 检查你的 Python 版本,如果是 2.x,你可能需要tkMessageBox
【解决方案2】:

以下是在 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()

【讨论】:

【解决方案3】:

你可以将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')

【讨论】:

    【解决方案4】:

    您不需要任何其他模块来执行此操作!

    from tkinter import messagebox
    
    messagebox.showerror("Title", "Message")
    

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多