转载注明出处
http://blog.csdn.net/xugangjava/article/details/7478139
使用windows api
workarea = win32api.GetMonitorInfo(1)['Work']
pos=(workarea[2]-280,workarea[3]-180)
这两句 来得到 屏幕右下角的坐标
AnimateWindow来执行 弹出动作
下面是源代码
# -*- coding: gbk -*- #!/bin/env python # Author: 许刚 # Created: 2012/1/1 import wx,os,win32api from res import * from common import RoleStr,GetIconByFileExt,FileExt from win32con import AW_ACTIVATE, AW_BLEND, AW_CENTER, AW_HIDE, AW_HOR_NEGATIVE, \ AW_HOR_POSITIVE, AW_SLIDE, AW_VER_NEGATIVE, AW_VER_POSITIVE,SPI_GETWORKAREA import win32api from ctypes import windll, c_int ######################################################################## class Popup(wx.MiniFrame): def __init__(self, label, parent=None,title=""): wx.MiniFrame.__init__(self, parent, -1, title, wx.DefaultPosition,size=(280,180),style=wx.DEFAULT_FRAME_STYLE| wx.STAY_ON_TOP) workarea = win32api.GetMonitorInfo(1)['Work'] pos=(workarea[2]-280,workarea[3]-180) bg=wx.Colour(255, 255, 225) self.SetBackgroundColour(bg) self.SetPosition(pos) text = wx.StaticText(self, -1, label) #font = wx.Font(13, wx.FONTENCODING_SYSTEM, wx.NORMAL, wx.NORMAL) #text.SetFont(font) text.SetBackgroundColour(bg) flags = AW_SLIDE | AW_VER_NEGATIVE | AW_ACTIVATE windll.user32.AnimateWindow(c_int(self.GetHandle()), c_int(600), c_int(flags)) self.Refresh() self.Bind(wx.EVT_CLOSE,self.RemovePopup) def RemovePopup(self, evt=None): flags = AW_BLEND | AW_HIDE windll.user32.AnimateWindow(c_int(self.GetHandle()), c_int(600), c_int(flags)) self.Destroy() ######################################################################## if __name__=='__main__': app=wx.PySimpleApp() f=Popup('测试右下角弹出框\n测试右下角弹出框\n\n') f.Show() app.MainLoop()