Advertisement
Guest User

Simple decimal RGB to hex converter on wxPython [Fixed]

a guest
Mar 28th, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.51 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 on_change(self, event):
  50.         def convert(s):
  51.             try:
  52.                 n = int(s)
  53.             except ValueError:
  54.                 n = 0
  55.             if n > 255:
  56.                 n = 255
  57.             return n
  58.  
  59.         r = convert(self.m_textCtrl1.GetValue())
  60.         g = convert(self.m_textCtrl2.GetValue())
  61.         b = convert(self.m_textCtrl3.GetValue())
  62.  
  63.         self.m_textCtrl4.SetValue("%02X%02X%02X" % (r, g, b))
  64.  
  65.  
  66. ###########################################################################
  67. ## __main__
  68. ###########################################################################
  69.  
  70. if __name__ == '__main__':
  71.     app = wx.App(False)
  72.     frame = MyFrame1(None)
  73.     frame.Show(True)
  74.     app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement