`
天梯梦
  • 浏览: 13731657 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Python实例讲解 -- wxpython 最小到托盘及欢迎图片

阅读更多

需要注意的是,这里是托盘上的图标弹出菜单是覆盖了CreatePopupMenu

 

也可以绑定2个方法,一个wx.EVT_TASKBAR_RIGHT_DOWN,方法里面生成menu,然后再来一个wx.EVT_MENU,定义要处理的事件函数。

 

还有一个就是Wx窗体上的最小化按钮,触发的事件是 wx.EVT_ICONIZE,而根本就没有定义什么wx.EVT_MINIMIZE,但是最大化,有个wx.EVT_MAXIMIZE。

 

 

#!/usr/bin/python
# _*_ coding: utf-8 _*_

import wx
class TaskBarIcon(wx.TaskBarIcon):
    ID_Hello = wx.NewId()
    def __init__(self, frame):
        wx.TaskBarIcon.__init__(self)
        self.frame = frame
        self.SetIcon(wx.Icon(name='wx.ico', type=wx.BITMAP_TYPE_ICO), 'TaskBarIcon!')
        self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnTaskBarLeftDClick)
        self.Bind(wx.EVT_MENU, self.OnHello, id=self.ID_Hello)

    def OnTaskBarLeftDClick(self, event):
        if self.frame.IsIconized():
           self.frame.Iconize(False)
        if not self.frame.IsShown():
           self.frame.Show(True)
        self.frame.Raise()

    def OnHello(self, event):
        wx.MessageBox('Hello From TaskBarIcon!', 'Prompt')

    # override
    def CreatePopupMenu(self):
        menu = wx.Menu()
        menu.Append(self.ID_Hello, 'Hello')
        return menu

class Frame(wx.Frame):
    def __init__(
            self, parent=None, id=wx.ID_ANY, title='TaskBarIcon', pos=wx.DefaultPosition,
            size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE
            ):
        wx.Frame.__init__(self, parent, id, title, pos, size, style)  

        # create a welcome screen
        screen = wx.Image(self.screenIm).ConvertToBitmap()
        wx.SplashScreen(screen, wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,1000, None, -1)
        wx.Yield()
       
        self.SetIcon(wx.Icon('wx.ico', wx.BITMAP_TYPE_ICO))
        panel = wx.Panel(self, wx.ID_ANY)
        button = wx.Button(panel, wx.ID_ANY, 'Hide Frame', pos=(60, 60))
       
        sizer = wx.BoxSizer()
        sizer.Add(button, 0)
        panel.SetSizer(sizer)
        self.taskBarIcon = TaskBarIcon(self)        
       
        # bind event
        self.Bind(wx.EVT_BUTTON, self.OnHide, button)
        self.Bind(wx.EVT_CLOSE, self.OnClose)
        self.Bind(wx.EVT_ICONIZE, self.OnIconfiy) # 最小化事件绑定
    def OnHide(self, event):
        self.Hide()
    def OnIconfiy(self, event):
        wx.MessageBox('Frame has been iconized!', 'Prompt')
        event.Skip()
    def OnClose(self, event):
        self.taskBarIcon.Destroy()
        self.Destroy()

def TestFrame():
    app = wx.PySimpleApp()
    frame = Frame(size=(640, 480))
    frame.Centre()
    frame.Show()
    app.MainLoop()
if __name__ == '__main__':
    TestFrame()
 

 

 

 

 

 

分享到:
评论
2 楼 天梯梦 2011-11-07  
the_fire 写道
编译出错!
38行:screen = wx.Image(self.screenIm).ConvertToBitmap() 里面的self.screenIm在哪定义的?


你在类当中给他赋一个值就可以,值就是你想要转换的图片名称。详细请阅读:http://justcoding.iteye.com/blog/904219
1 楼 the_fire 2011-11-05  
编译出错!
38行:screen = wx.Image(self.screenIm).ConvertToBitmap() 里面的self.screenIm在哪定义的?

相关推荐

    wxpython实现程序最小到系统托盘的实例

    标题中的“wxpython实现程序最小到系统托盘的实例”是指使用Python的wxPython库来创建一个应用程序,该程序能够最小化到系统托盘区域,而不是传统的任务栏。这是一个非常实用的功能,允许用户将程序隐藏起来,而不会...

    wxPython2.8-win64-unicode-2.8.12.1-py27 wxPython2.8-win32-unicode-2.8.12.1-py27

    用户可以通过运行这些文件来安装对应的wxPython版本,它们会将必要的库文件和组件添加到系统中,使得Python项目能够导入并使用wxPython。 **使用wxPython** 使用wxPython开发应用程序时,首先需要在Python环境中...

    wxPython-demo-4.0.6_wxpython官方demo_wxPython-demo_wxpython_DEMO_w

    这个压缩包文件"wxPython-demo-4.0.6_wxpython官方demo_wxPython-demo_wxpython_DEMO_w"包含了wxPython的官方演示程序,是学习和探索wxPython功能的理想资源。 【wxPython Demo】是wxPython库附带的一系列示例和...

    python-2.7+wxPython2.8-win64.rar

    标题中的"python-2.7+wxPython2.8-win64.rar"表明这是一个包含Python 2.7和wxPython 2.8的Windows 64位版本的压缩包。这个压缩包可能用于搭建一个基于Python的图形用户界面(GUI)开发环境。Python 2.7是一个广泛...

    wxpython托盘(最小化)实例

    本实例关注的是如何利用`wxPython`实现应用程序的托盘功能,特别是当用户最小化程序时,将程序图标隐藏到系统托盘区,而不是完全关闭或隐藏程序。 首先,我们需要了解`wxPython`中的`TaskBarIcon`类,这是实现托盘...

    wxPython - Learning Python wxPython - 学习 Python.doc

    ### wxPython - 学习 Python #### 一、Python 为何适合 GUI 开发? Python 作为一门高级编程语言,以其简洁优雅的语法和强大的库支持而闻名。在图形用户界面(GUI)开发领域,Python 同样表现出色,这主要得益于...

    python实例61-Python制作图形用户界面(GUI)让操作可视化.rar

    本实例将重点讲解使用Tkinter库创建一个简单的GUI应用。 Tkinter是Python的标准GUI库,它基于Tcl/Tk库。这个库易于学习,适合初学者快速构建GUI应用。首先,我们需要导入Tkinter库,并创建一个主窗口。在Python中,...

    python3.8 pycharm安装wxPthon4.1.1库

    python3.8 pycharm安装wxPthon4.1.1库,含32位64位的两个文件 3.打开Anaconda Prompt,或者在pycharm终端: 如文件放在d盘 输入: pip install d:\...输入: pip install d:\wxPython-4.1.1-cp38-cp38-win_amd64.whl

    python-3.11.2-amd64.exe安装包

    为了从Python 2迁移到Python 3,可以使用Python自带的`2to3`工具进行转换。 学习Python的正确方法: 1. **坚持实践**:理论学习与实际编程相结合,不断练习以巩固知识。 2. **实战项目**:通过完成实际项目来提升...

    用python-wxPython编写Genesis-Scripts.pdf

    【Python和wxPython用于Genesis Scripts开发】 Python是一种高级编程语言,以其简洁的语法和强大的功能而闻名。它具有高效的高层数据结构,支持面向对象编程,这使得Python在编写复杂程序时能够保持代码的清晰和...

    wxPython4.1文件下载Win64 For Python2.7/Python3.7/Python3.8

    wxWidgets库的跨平台特性也继承到了wxPython中,这意味着用wxPython编写的应用程序可以在Windows、Linux、macOS等多种操作系统上运行,无需重写代码。这对于希望开发能够广泛部署的桌面应用的开发者来说,是一项巨大...

    wxPython-4.0.6-cp37-cp37m-win_amd64.whl

    python GUI图形化编程-----wxpython 一、python gui(图形化)模块介绍:  Tkinter :是python最简单的图形化模块,总共只有14种组建  Pyqt :是python最复杂也是使用最广泛的图形化  Wx :是python当中居中的一...

    python2.4 and wxPython

    【Python 2.4 和 wxPython】 Python 2.4 是 Python 语言的一个较旧版本,它在2004年发布,并于2010年停止支持。这个版本包含了许多基础的Python特性,如元组赋值、生成器、with语句等。然而,随着语言的发展,许多新...

    wxPython2.8-win64-unicode-2.8.12.1-py27安装文件

    安装完成后,wxPython库将会被添加到Python的site-packages目录下,可以直接在Python脚本中导入并使用。 **使用wxPython开发** 使用wxPython开发GUI应用的基本步骤包括: 1. 导入必要的模块,如`wx`。 2. 创建应用...

    带有MSP430G2553和Python-GUI-wxpython-的USB室温监控

    带有MSP430G2553和Python-GUI-wxpython-的USB室温监控该项目是一个实时室温监测USB设备,可在python GUI应用程序上显示温度值。它使用MSP430G2553微控制器和来自硅实验室的USB至TTL转换器。python应用程序需要...

    windows python-3.6.5-amd64

    Python是一种广泛使用的高级编程语言,因其简洁、易读的语法而受到开发者们的喜爱。它采用“胶水语言”的特性,能够轻松地与其他编程语言集成,使其成为多领域应用的理想选择。 在**Web和Internet开发**中,Python...

    wxPython教程及实例

    **wxPython教程及实例** **概述** `wxPython` 是一个强大的GUI(图形用户界面)工具包,它允许Python开发者利用原生操作系统界面构建应用程序。它基于C++的`wxWidgets`库,提供了丰富的控件和组件,适用于Windows...

    Python源码实例-名言查询.zip

    在“Python源码实例-名言查询.zip”这个压缩包中,包含了一个具体的Python编程示例,用于实现名言查询的功能。这个实例涉及到自动化、数据分析、网络爬虫以及游戏开发等多个IT领域的知识点,下面将详细解析这些技术...

    python wxPython2.8-win32-docs-demos-2.8.7.1.exe

    This document will help explain some of the major changes in wxPython 2.6 since the 2.4 series and let you know what you need to do to adapt your programs to those changes. Be sure to also check in ...

Global site tag (gtag.js) - Google Analytics