Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import hashlib
import sys
import os
import time
import wx
class Main(wx.Frame):
def __init__ (self, parent, id, title,):
wx.Frame.__init__(self, parent, id, title, size=(440, 250), style=wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX)
self.md5h = False
self.sha1h = False
self.sha224h = False
self.sha256h = False
self.sha384h = False
self.sha512h = False
self.path = ''
self.pressed = False
panel = wx.Panel(self, -1)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
hbox1.Add(wx.StaticText(panel, 11, 'tesText:'), 0, wx.ALL, 10)
hbox1.Add(wx.TextCtrl(panel, 12, size=(200, -1)), 0, wx.EXPAND | wx.ALL, 10)
self.button = wx.Button(panel, 13, 'LookUp')
hbox1.Add(self.button, 0, wx.TOP, 10)
hbox1.Add(wx.Button(panel, 14, 'GetDir'), 0, wx.TOP, 10)
vbox.Add(hbox1)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
hbox2.Add(wx.CheckBox(panel, 21, 'MD5'), 0, wx.EXPAND | wx.ALL, 10)
hbox2.Add(wx.CheckBox(panel, 22, 'SHA1'), 0, wx.EXPAND | wx.ALL, 10)
hbox2.Add(wx.CheckBox(panel, 23, 'SHA224'), 0, wx.EXPAND | wx.ALL, 10)
hbox2.Add(wx.CheckBox(panel, 24, 'SHA256'), 0, wx.EXPAND | wx.ALL, 10)
hbox2.Add(wx.CheckBox(panel, 25, 'SHA384'), 0, wx.EXPAND | wx.ALL, 10)
hbox2.Add(wx.CheckBox(panel, 26, 'SHA512'), 0, wx.EXPAND | wx.ALL, 10)
vbox.Add(hbox2)
hbox3 = wx.BoxSizer(wx.HORIZONTAL)
self.textctrl1 = wx.TextCtrl(panel, 31, size=(230, 115), style=wx.TE_MULTILINE | wx.TE_READONLY)
hbox3.Add(self.textctrl1, 0, wx.EXPAND | wx.ALL, 10)
self.textctrl2 = wx.TextCtrl(panel, 32, size=(160, 115), style=wx.TE_MULTILINE | wx.TE_READONLY)
hbox3.Add(self.textctrl2, 0, wx.EXPAND | wx.ALL, 10)
vbox.Add(hbox3)
panel.SetSizer(vbox)
self.Bind(wx.EVT_BUTTON, self.OnLookUp, id=13)
self.Bind(wx.EVT_BUTTON, self.OnGetDir, id=14)
self.Bind(wx.EVT_IDLE, self.OnIdle)
self.Bind(wx.EVT_CHECKBOX, self.md5, id=21)
self.Bind(wx.EVT_CHECKBOX, self.sha1, id=22)
self.Bind(wx.EVT_CHECKBOX, self.sha224, id=23)
self.Bind(wx.EVT_CHECKBOX, self.sha256, id=24)
self.Bind(wx.EVT_CHECKBOX, self.sha384, id=25)
self.Bind(wx.EVT_CHECKBOX, self.sha512, id=26)
self.Centre()
self.Show(True)
def OnLookUp(self, event):
self.pressed = True
def OnIdle(self, event):
if self.pressed:
self.button.Disable()
for i in range(1000):
#print 'MD5 =', self.md5h
self.textctrl1.WriteText('Hallo %s\n' % i)
self.button.Enable()
self.pressed = False
def OnGetDir(self, event):
dlg = wx.DirDialog(self, "Choose a directory:", style=wx.DD_DEFAULT_STYLE)
if dlg.ShowModal() == wx.ID_OK:
self.path = dlg.GetPath()
dlg.Destroy()
def md5(self, event):
pass
def sha1(self, event):
pass
def sha224(self, event):
pass
def sha256(self, event):
pass
def sha384(self, event):
pass
def sha512(self, event):
pass
app = wx.App(redirect=False)
main = Main(None, wx.ID_ANY, 'None')
app.MainLoop()
Bitte die Methode 'OnIdle' beachten.