Spring usually starts around April, but I would recommend to visit sometime later, because April is known to be very inconstant, meaning it's sunshine on one day, and rainy on the other.
May is typically sunny, and it's when the warmth kicks in. In 2016, mid May was 23C, late May was 27C.
Budapest has a lot of bars, where you can drink outside, (eg.: Bálna terasz) and they're mostly popular in the summer, not just because it's warmer, but the days last longer as well.
Summer does get hot. You can expect around 30C in July, and 32C in late August.
I'd still recommend to visit during the summer, because that's when the city really starts to "live".
Hope that helps