why getSaveFileName don't set default save filename like UUID? it's empty
Because you are using the method incorrectly. The third argument is the initial directory, not the default file name. There is no way to specify the default file name using the QFileDialog static methods; if you want that, you must use the mechanism described in Chris's original answer in this thread.