2008-10-07 20 views
21

क्या पाइथन में जावास्क्रिप्ट की चेतावनी ("संदेश") के समान एक चेतावनी उत्पन्न करना संभव है, जिसमें एक डिमन के रूप में चल रहे एप्लिकेशन के साथ।पायथन में अलर्ट बॉक्स?

यह विंडोज़ में चलाया जाएगा, अधिकतर एक्सपी लेकिन 2000 और Vista भी बहुत वास्तविक संभावनाएं हैं।

अद्यतन:
इस पृष्ठभूमि में चलाने के लिए और उपयोगकर्ता जब विशेष शर्तें पूरी होने को सचेत करने का इरादा है, मैं समझ है कि उपयोगकर्ता को सचेत करने का सबसे आसान तरीका के रूप में यह करने की जरूरत है एक पॉप-अप का निर्माण करने के, होगा तुरंत संभाला गया, और अन्य विकल्प जैसे कि लॉगिंग करना, या ईमेल भेजना पर्याप्त कुशल नहीं है।

+1

मुझे लगता है कि यह वाक्यांश के लिए एक बेहतर तरीका है "पृष्ठभूमि प्रक्रिया" एक डेमॉन नहीं है। – UnkwnTech

उत्तर

38

क्या इस बारे में:

import win32api 

win32api.MessageBox(0, 'hello', 'title') 
इसके अतिरिक्त

:

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

बॉक्स, अन्य विंडो के शीर्ष पर प्रकट तत्काल संदेशों के लिए कर देगा। अन्य विकल्पों के लिए MessageBox function देखें।

+0

यह वही है जो मुझे आपकी ज़रूरत है। – UnkwnTech

+2

इस फ़ंक्शन पर अधिक जानकारी के लिए मुझे यह मिला: http://docs.activestate.com/activepython/2.4/pywin32/win32api__MessageBox_meth.html – UnkwnTech

+11

मुझे 'ImportError: Win32api नामक कोई मॉड्यूल नहीं मिल रहा है। – user

-2

एक ऐप को पृष्ठभूमि प्रक्रिया के रूप में प्रारंभ करें जिसमें या तो एक टीसीपी पोर्ट स्थानीयहोस्ट से जुड़ा हुआ है, या फ़ाइल के माध्यम से संचार करता है - आपके डेमॉन में फ़ाइल खुलती है, और फिर आप echo "foo" > c:\your\file। कहें, कहें, गतिविधि का 1 सेकंड, आप संदेश प्रदर्शित करते हैं और फ़ाइल को छोटा करते हैं।

+2

यह एक बहुत काम की तरह लगता है, और यह teh समस्या हल नहीं करता है। – UnkwnTech

+0

आपने उन शर्तों को निर्दिष्ट नहीं किया है जिन पर संवाद बॉक्स प्रदर्शित किया जाएगा। मैंने इंटर-एप्लिकेशन निर्भरताओं को माना। –

+0

मैंने कहा कि मुझे एक अलर्ट बॉक्स बनाने की आवश्यकता है, यह एक चेतावनी प्रदर्शित नहीं करता है। – UnkwnTech

1

आप पाइथन में 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) 
+4

आप कुछ भी नहीं के लिए pythoncom और win32com.client आयात कर रहे हैं – totaam

3

जीटीके, एक बेहतर विकल्प हो सकता है क्योंकि यह पार मंच है। यह उबंटू पर बहुत अच्छा काम करेगा, और जीटीके और पायथन बाइंडिंग स्थापित होने पर विंडोज़ पर ठीक काम करना चाहिए।

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" 

आप अन्य उदाहरण here देख सकते हैं। (pdf)

उत्तीर्ण तर्क gtk.window माता-पिता (या कोई नहीं), DestroyWithParent, संदेश प्रकार, संदेश-बटन, शीर्षक होना चाहिए।

+0

किसी भी तरह से यह मुझे एक त्रुटि "भंडार नामक मॉड्यूल" देता है। ऐसा लगता है कि यह पुराना है? – Kev1n91

+0

@ Kev1n91 आप उबंटू 16.04 या नए पर? इसे Python3 में आज़माएं। :) – NoBugs

संबंधित मुद्दे