Assuming the problem is that the number should have leading zeros when they are only 1 digit. Here is a solution for that.
def convert_to_hex(rgba_color) :
red = int(rgba_color.red*255)
green = int(rgba_color.green*255)
blue = int(rgba_color.blue*255)
return '0x{r:02x}{g:02x}{b:02x}'.format(r=red,g=green,b=blue)