You say
It seems that python is automatically doing the type conversion from list to tuple
That's doubtful. Since lists and tuples are both sequence types, they both implement many of the same behaviors, and whatever GUI library you're using must not need any of the list-only behaviors.
It's probably fine to do this in many cases, but note that lists do take up a bit more space than tuples:
>>> sys.getsizeof((1, 2))
72
>>> sys.getsizeof([1, 2])
88
And may be slower than tuples at some things:
>>> lst, tup = [1, 2], (1, 2)
>>> def unpack(x):
... a, b = x
...
>>> %timeit unpack(tup)
10000000 loops, best of 3: 163 ns per loop
>>> %timeit unpack(lst)
10000000 loops, best of 3: 172 ns per loop
These are very small differences that won't matter until you reach much larger scales -- as in billions of calls -- so the trade-off could be worth it.
Still, I don't see people do this very often. It seems like a nice readability trick, but it could have unexpected consequences in some circumstances. For example, if you pass a list you intend to use again later, then you have to be careful not to modify it inside the function. Finally, as J.F. Sebastian rightly points out, tuples and lists tend to mean slightly different things; using them in unconventional ways might negate the readability boost you seek.