Advertisement
Guest User

Simple decimal RGB to hex converter on wxPython

a guest
Mar 28th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.54 KB | None | 0 0
  1. import wx
  2. import wx.xrc
  3.  
  4.  
  5. ###########################################################################
  6. ## Class MyFrame1
  7. ###########################################################################
  8.  
  9. class MyFrame1(wx.Frame):
  10.  
  11.     def __init__(self, parent):
  12.         wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
  13.                           pos=wx.DefaultPosition, size=wx.Size(180, 180),
  14.                           style=wx.DEFAULT_FRAME_STYLE | wx.STAY_ON_TOP |
  15.                           wx.TAB_TRAVERSAL)
  16.  
  17.         self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
  18.  
  19.         bSizer1 = wx.BoxSizer(wx.VERTICAL)
  20.  
  21.         self.m_textCtrl1 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
  22.                                        wx.DefaultPosition, wx.DefaultSize, 0)
  23.         bSizer1.Add(self.m_textCtrl1, 0, wx.ALL, 5)
  24.  
  25.         self.m_textCtrl2 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
  26.                                        wx.DefaultPosition, wx.DefaultSize, 0)
  27.         bSizer1.Add(self.m_textCtrl2, 0, wx.ALL, 5)
  28.  
  29.         self.m_textCtrl3 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
  30.                                        wx.DefaultPosition, wx.DefaultSize, 0)
  31.         bSizer1.Add(self.m_textCtrl3, 0, wx.ALL, 5)
  32.  
  33.         self.m_textCtrl4 = wx.TextCtrl(self, wx.ID_ANY, "#000000",
  34.                                        wx.DefaultPosition, wx.DefaultSize,
  35.                                        wx.TE_READONLY)
  36.         bSizer1.Add(self.m_textCtrl4, 0, wx.ALL, 5)
  37.  
  38.         self.SetSizer(bSizer1)
  39.         self.Layout()
  40.  
  41.         self.Centre(wx.BOTH)
  42.  
  43.         # Connect Events
  44.         self.m_textCtrl1.Bind(wx.EVT_TEXT, self.on_change)
  45.         self.m_textCtrl2.Bind(wx.EVT_TEXT, self.on_change)
  46.         self.m_textCtrl3.Bind(wx.EVT_TEXT, self.on_change)
  47.  
  48.  
  49.     def __del__(self):
  50.         pass
  51.  
  52.     def on_change(self, event):
  53.         def convert(s):
  54.             try:
  55.                 n = int(s)
  56.             except:
  57.                 n = 0
  58.             if n > 255:
  59.                 n = 255
  60.             return n
  61.  
  62.         r = convert(self.m_textCtrl1.GetValue())
  63.         g = convert(self.m_textCtrl2.GetValue())
  64.         b = convert(self.m_textCtrl3.GetValue())
  65.  
  66.         self.m_textCtrl4.SetValue("#%02X%02X%02X" % (b, g, r))
  67.  
  68.  
  69. ###########################################################################
  70. ## __main__
  71. ###########################################################################
  72.  
  73. if __name__ == '__main__':
  74.     app = wx.App(False)
  75.     frame = MyFrame1(None)
  76.     frame.Show(True)
  77.     app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement