I could be wrong, and if I am please disregard this entirely, but I think the terms a getting a tad mixed up here.
It switched from my preset stylebox to some default stylebox_hovered just as it was created while my mouse happened to be over it. I didn't what was happening. It is like a Sprite after creation suddenly changing its color and shape. I made a proposal to GODOT github wouldn't do anything,l
This is not a signal issue, but instead just built-in functionality with Godot's button class. Instead, this seems to be a styling issue and that, if I understand correctly, is the crux of the problem. This is just normal code reactions that are baked into the C++ code, no signaling beyond that of just normal programming. I think under the hood there is some data being called and passed around, but I believe it happens through the _unhandled_input
function (or rather, the equivalent in C++). I believe a more descriptive term for this would be "processing", "data-passing", or "functionality" rather than "signals" simply due to the fact Godot has it's own signal term that means something completely different.
Godot has its own signals used for callbacks for when a button is pressed, hovered, etc, that allow you to execute code when these events occur. Signals can be in UI, Physics, 2D, 3D, and more, it really is just callbacks intended to allow specific chunks of code run when something has happened and you want to respond to it. These Godot signals are emitted whenever a proper event has triggered them (generally determined in C++ code) and you can make your own custom signals in GDScript as well.
Again though, that is not a visual thing, it is essentially just callbacks. Signals can cause visual changes if the function they are connected to does a visual change, but on it's own they do not do anything visual. I do not think there is any signal that is emitted that causes a visual change from the emission of the signal itself.
As for the issue with the styleboxes, that is because Godot's built-in classes try to be helpful and provide a bunch of template and starter functionality. It can be a tad time consuming at times when you want the over and press styleboxes to be the same, but it's just a matter of copy-pasting the stylebox from Normal
to Hover
(and potentially Pressed
) in the inspector stylebox overrides. It's also possible to set them all through code, which if you have lots of buttons can be a time saver. Generally though, I do not find it too troublesome and once you know what you need to set to get the visuals you want in the scenarios you want, it's pretty quick and easy to make buttons behave how you need them.