使用wxpython实现的一个简单图片浏览器实例

2019-10-06 11:49:22丽君


self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)

然后图片需要能够放大和缩小。于是我再次通过按键触发。放大或缩小只需要通过改变staticbitmap的最大值并让bmp适应那个size就可以了。

由于全屏了,那么需要能够移动图片。移动的时候也只需要移动staticbitmap就行了。

#注意这里要将事件绑定到staticbitmap上面
self.bmp.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
self.bmp.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
self.bmp.Bind(wx.EVT_MOTION, self.OnMotion)

至此,大概要点都讲完了,下面是全部代码。仔细查阅会发现一些新的用法,

不过这个图片浏览器估计只是够我用,不过其实用起来已经挺爽的了, 全屏的图片展示,还可以随便移动图片,快捷键很方便地退出全屏。

里面还有一些不完善的地方需要改进,希望能跟大家多多交流~

感谢这期间被我大量参考资料的作者们。


#!/usr/bin/env Python
#coding=utf-8

#filename : PictureBrowser.py
#date     : 2012-10-11

import wx
import os
import sys
import string

#你有H盘吗?没有的话在这个初始化函数里修改加载的初始路径
class PBDirFrame(wx.Frame):
    def __init__(self, app):
        wx.Frame.__init__(self, None, -1, "选择文件夹", size=(250,500))

        self.app = app

        #设置字体
        font = wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False, 'Courier New')
        self.SetFont(font)
       
        #文件夹listbox
        self.list = wx.ListBox(self, -1, (0,0), (200,600), '', wx.LB_SINGLE)
        self.list.Bind(wx.EVT_LISTBOX_DCLICK, self.OnDClick)
       
        #加载当前文件夹
        #curdir = os.getcwd()#在这里修改初始路径,这个是当前工作路径
        curdir = 'H:'
        os.chdir(curdir)
        self.LoadDir(curdir)
       
        #绑定事件
        self.Bind(wx.EVT_CLOSE, self.OnClose)


       
        #显示窗口
        self.Show()