Python中的警报框?

Python中的警报框?,python,alerts,Python,Alerts,有没有可能生成类似于python中JavaScript的警报(“消息”)的警报,应用程序作为守护进程运行 这将在Windows中运行,最有可能是XP,但2000和Vista也是非常现实的可能性 更新: 这是为了在后台运行,并在满足某些条件时提醒用户,我认为提醒用户的最简单方法是生成一个弹出窗口,因为它需要立即处理,而其他选项(如仅记录或发送电子邮件)效率不够。这是怎么回事: import win32api win32api.MessageBox(0, 'hello', 'title') 此外

有没有可能生成类似于python中JavaScript的警报(“消息”)的警报,应用程序作为守护进程运行

这将在Windows中运行,最有可能是XP,但2000和Vista也是非常现实的可能性

更新:
这是为了在后台运行,并在满足某些条件时提醒用户,我认为提醒用户的最简单方法是生成一个弹出窗口,因为它需要立即处理,而其他选项(如仅记录或发送电子邮件)效率不够。

这是怎么回事:

import win32api

win32api.MessageBox(0, 'hello', 'title')
此外:

win32api.MessageBox(0, 'hello', 'title', 0x00001000) 

将使该框显示在其他窗口的顶部,以显示紧急消息。有关其他选项,请参阅。

将应用程序作为后台进程启动,该进程可以将TCP端口绑定到本地主机,也可以通过文件进行通信—您的守护进程打开了该文件,然后您
echo“foo”>c:\your\file
。例如,在没有活动的1秒后,显示消息并截断文件。

您可以使用Python中的win32库,这是确定或取消的经典示例

import win32api
import win32com.client
import pythoncom

result = win32api.MessageBox(None,"Do you want to open a file?", "title",1)

if result == 1:
 print 'Ok'
elif result == 2:
 print 'cancel'
收藏:

win32api.MessageBox(0,"msgbox", "title")
win32api.MessageBox(0,"ok cancel?", "title",1)
win32api.MessageBox(0,"abort retry ignore?", "title",2)
win32api.MessageBox(0,"yes no cancel?", "title",3)

GTK可能是一个更好的选择,因为它是跨平台的。它在Ubuntu上工作得很好,在安装GTK和Python绑定后,在Windows上也能正常工作

from gi.repository import Gtk

dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
            Gtk.ButtonsType.OK, "This is an INFO MessageDialog")
dialog.format_secondary_text(
    "And this is the secondary text that explains things.")
dialog.run()
print "INFO dialog closed"
你可以看到其他的例子。()


传递的参数应该是gtk.window parent(或None)、DestroyWithParent、消息类型、消息按钮、标题。

对于我们这些寻找纯Python选项的人来说,该选项不与Windows接口,且与平台无关,我选择了以下网站上列出的选项:

您可以选择为不同的场景显示各种类型的messagebox选项:

  • showinfo()
  • showwarning()
  • 淋浴器()
  • 提问(问题)
  • askokcancel()
  • askyesno()
  • askretrycancel()
根据下面的“我的评论”编辑的代码

可用于制作警报框 首先使用pip安装pyautogui:

pip install pyautogui
然后在python中键入:

将pyautogui导入为pag
页码警报(text=“Hello World”,title=“Hello World框”)
以下是从Javascript中盗取的更多消息框:

  • confirm()

    使用“确定”和“取消”按钮
  • prompt()

    使用文本输入
  • password()
    使用文本输入,但键入的字符将显示为*

我认为更好的说法是作为“后台进程”而不是守护进程。这似乎是一项非常繁重的工作,而且并没有解决问题。您没有指定对话框显示的条件。我假设了应用程序之间的依赖关系。我说我需要生成一个警报框,它不会显示警报。有关此函数的详细信息,我发现了以下内容:我正在获取
导入错误:没有名为win32api的模块。
。请使用
轻松安装PyWin32
安装程序包。不幸的是,除了非常有限的
原始输入()
,没有内置的解决方案,对吗?或者你可以使用ActiveState的Python版本,它已经安装了PyWin32。你导入pythoncom和win32com.client是为了什么?这会给我一个错误“没有模块命名存储库”。好像已经过时了?@Kev1n91你在Ubuntu 16.04或更新版本上吗?在python3中尝试它。:)有一件事…在我按“确定”输入您的代码后,消息框不会关闭。。。。为什么?我注意到我在退出后没有放一个()。试试看。除此之外,我对meesagebox的关闭没有任何问题。你用的和写的一样吗?您使用的是什么版本的python?
pip install pyautogui