我正在寻找与JavaScript中的alert()
相同的效果。
今天下午我用Twisted.web写了一个简单的基于web的解释器。基本上,您通过表单提交一段Python代码,然后客户端来获取它并执行它。我希望能够制作一条简单的弹出消息,而不必每次都重写一大堆样板wxPython或TkInter代码(因为代码是通过表单提交的,然后就消失了)。
我试过tkMessageBox:
import tkMessageBox
tkMessageBox.showinfo(title="Greetings", message="Hello World!")
但这会在后台打开另一个带有tk图标的窗口。我不想这样。我正在寻找一些简单的wxPython代码,但它总是需要设置一个类和进入一个应用程序循环等。
发布于 2013-03-07 23:43:11
您可以使用导入和单行代码,如下所示:
import ctypes # An included library with Python install.
ctypes.windll.user32.MessageBoxW(0, "Your text", "Your title", 1)
或者像这样定义一个函数(Mbox):
import ctypes # An included library with Python install.
def Mbox(title, text, style):
return ctypes.windll.user32.MessageBoxW(0, text, title, style)
Mbox('Your title', 'Your text', 1)
请注意,样式如下:
## Styles:
## 0 : OK
## 1 : OK | Cancel
## 2 : Abort | Retry | Ignore
## 3 : Yes | No | Cancel
## 4 : Yes | No
## 5 : Retry | Cancel
## 6 : Cancel | Try Again | Continue
玩得开心!
注:编辑为使用MessageBoxW
而不是MessageBoxA
发布于 2010-06-03 13:54:47
你有没有看过easygui
import easygui
easygui.msgbox("This is a message!", title="simple gui")
发布于 2011-07-16 19:03:54
您还可以在收回其他窗口之前对其进行定位,以便对消息进行定位
#!/usr/bin/env python
from Tkinter import *
import tkMessageBox
window = Tk()
window.wm_withdraw()
#message at x:200,y:200
window.geometry("1x1+200+200")#remember its .geometry("WidthxHeight(+or-)X(+or-)Y")
tkMessageBox.showerror(title="error",message="Error Message",parent=window)
#centre screen message
window.geometry("1x1+"+str(window.winfo_screenwidth()/2)+"+"+str(window.winfo_screenheight()/2))
tkMessageBox.showinfo(title="Greetings", message="Hello World!")
https://stackoverflow.com/questions/2963263
复制相似问题