Tôi muốn biết cách tạo thông báo bật lên trên khay hệ thống bằng python. Tôi đã thấy những điều đó trong rất nhiều softaware, nhưng khó tìm được tài nguyên để làm điều đó dễ dàng với bất kỳ ngôn ngữ nào. Bất cứ ai cũng biết một số thư viện để làm điều này trong Python?Cách tạo thông báo bật lên khay hệ thống bằng python? (Windows)
Trả lời
Với sự giúp đỡ của pywin32
library bạn có thể sử dụng mã ví dụ sau đây tôi thấy here:
from win32api import *
from win32gui import *
import win32con
import sys, os
import struct
import time
class WindowsBalloonTip:
def __init__(self, title, msg):
message_map = {
win32con.WM_DESTROY: self.OnDestroy,
}
# Register the Window class.
wc = WNDCLASS()
hinst = wc.hInstance = GetModuleHandle(None)
wc.lpszClassName = "PythonTaskbar"
wc.lpfnWndProc = message_map # could also specify a wndproc.
classAtom = RegisterClass(wc)
# Create the Window.
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
self.hwnd = CreateWindow(classAtom, "Taskbar", style, \
0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \
0, 0, hinst, None)
UpdateWindow(self.hwnd)
iconPathName = os.path.abspath(os.path.join(sys.path[0], "balloontip.ico"))
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
try:
hicon = LoadImage(hinst, iconPathName, \
win32con.IMAGE_ICON, 0, 0, icon_flags)
except:
hicon = LoadIcon(0, win32con.IDI_APPLICATION)
flags = NIF_ICON | NIF_MESSAGE | NIF_TIP
nid = (self.hwnd, 0, flags, win32con.WM_USER+20, hicon, "tooltip")
Shell_NotifyIcon(NIM_ADD, nid)
Shell_NotifyIcon(NIM_MODIFY, \
(self.hwnd, 0, NIF_INFO, win32con.WM_USER+20,\
hicon, "Balloon tooltip",msg,200,title))
# self.show_balloon(title, msg)
time.sleep(10)
DestroyWindow(self.hwnd)
def OnDestroy(self, hwnd, msg, wparam, lparam):
nid = (self.hwnd, 0)
Shell_NotifyIcon(NIM_DELETE, nid)
PostQuitMessage(0) # Terminate the app.
def balloon_tip(title, msg):
w=WindowsBalloonTip(title, msg)
if __name__ == '__main__':
balloon_tip("Title for popup", "This is the popup's message")
Bạn sẽ cần phải sử dụng một thư viện giao diện bên python 3 hoặc thư viện PyWin32. TkInter, bộ công cụ GUI đi kèm với python không hỗ trợ pop up của khay hệ thống.
thư viện trung tính Đa dạng mà hỗ trợ làm việc với khay hệ thống:
- wxPython
- PyGTK
- pyQT
Windows cụ thể thư viện mà hỗ trợ làm việc với khay hệ thống:
- py win32
thông tin/ví dụ về khay hệ thống cửa sổ pop up sử dụng wxPython trên cửa sổ:
Ok, ví dụ về cách thực hiện với wxPython? –
@RomanRdgz Hãy xem [ToasterBox] (http://xoomer.virgilio.it/infinity77/main/freeware.html#toasterbox) mà tôi tìm thấy trong http://stackoverflow.com/questions/2240674/cross-platform -desktop-notifier-in-python. – halex
thời gian gần đây tôi đã sử dụng gói Plyer để tạo ra các thông báo cross-platform mà không đau đớn, bằng cách sử dụng Notification
mặt tiền (có nhiều thứ thú vị khác đáng để xem).
Khá dễ dàng để sử dụng:
from plyer import notification
notification.notify(
title='Here is the title',
message='Here is the message',
app_name='Here is the application name',
app_icon='path/to/the/icon.png'
)
Khi tôi sử dụng lib này, tôi gặp lỗi từ 'python27_x64 \ lib \ site-packages \ plyer \ platforms \ win \ libs \ balloontip.py ", dòng 145, trong balloon_tip', của phương thức' WindowsBalloonTip (** kwargs) ', thông báo lỗi là:' TypeError: __init __() nhận đối số từ khóa không mong muốn 'ticker''. Đó là windows7 với python 2.7. – FaithReaper
... và kiểm tra repo, một vấn đề tương tự cũng đã được đăng và tác giả đề nghị cài đặt bản phát hành mới nhất trực tiếp từ Github, và giải quyết vấn đề. Tuyệt vời! 'pip install -I https://github.com/kivy/plyer/zipball/master' – FaithReaper
trong hệ thống Linux, bạn có thể sử dụng inbuilt lệnh notify-send
.
ntfy
thư viện có thể được sử dụng để gửi thông báo đẩy.
click here for ntfy documentation
cài đặt:
sudo pip install ntfy
ví dụ:
ntfy send "your message!"
ntfy send -t "your custom title" "your message"
Tôi sẽ thêm rằng đây là chương trình python được gọi từ dòng lệnh chứ không phải lệnh Python nội bộ – tc88
- 1. Khay hệ thống Ubuntu bằng Python
- 2. Làm thế nào để tạo một thanh menu (khay hệ thống) cho OSX bằng Python?
- 3. Cách đơn giản nhất để đặt tập lệnh python vào khay hệ thống (Windows)
- 4. Tạo cá thể đơn cho khay hệ thống trong java
- 5. Tạo chương trình để chạy từ khay hệ thống
- 6. Tạo hộp thông báo bật lên với trường Nhập
- 7. Python tạo hệ thống
- 8. Truy cập vba: Cách bật thông báo hoặc lời nhắc hệ thống?
- 9. Cách giảm thiểu ứng dụng Silverlight vào khay hệ thống
- 10. Hệ thống thông báo trong Rails
- 11. Tạo hệ thống thông báo người dùng ở Django
- 12. Thông báo bật lên KDE trong xmonad
- 13. Làm mới biểu tượng khay hệ thống theo chương trình
- 14. Làm cách nào để yêu cầu Windows kích thước biểu tượng khay hệ thống?
- 15. Làm cách nào để biết liệu đầu bóng trên khay hệ thống đã đóng chưa?
- 16. Biểu tượng khay hệ thống trong C++
- 17. Nhận thông tin múi giờ của hệ thống bằng Python?
- 18. Mẫu thiết kế: hệ thống thông báo
- 19. Tối đa hóa ứng dụng trong khay hệ thống?
- 20. PHP: bật thông báo bật lên rồi chuyển hướng trang
- 21. Tôi làm cách nào để Dịch vụ Windows hiển thị trong khay hệ thống?
- 22. Ẩn chương trình của tôi trong Khay Hệ thống trong Windows
- 23. Thông báo cảnh báo bật lên trên iPhone
- 24. khay thông báo cập nhật cơ sở dữ liệu
- 25. Làm cách nào để tôi có thể tạo cửa sổ bật lên thông báo trên Windows Mobile như thế này?
- 26. Outlook sử dụng quy tắc không hiển thị thông báo tin nhắn mới trong khay hệ thống
- 27. Python - Tạo một hệ thống "tập lệnh"
- 28. Dịch vụ Sự kiện Thông báo Hệ thống Windows & Sự kiện Tùy chỉnh
- 29. Làm cách nào để hiển thị thông báo bật lên cho người dùng bằng jquery?
- 30. Phonegap thêm các mục vào khay thông báo
trình, nhưng tôi muốn nó được nhiều hơn "hiện đại", cái nhìn khác nhau và cảm thấy. Có thể thêm hình ảnh vào cửa sổ bật lên chẳng hạn. Có thể với apprach này? –
chưa thử, nhưng có thể đưa đường dẫn đến biểu tượng thay cho biểu tượngPathName có thể hoạt động –