Python UI show value in panel after generation random property
Solution, that generate random values, save it and allow to edit 2 neccesary values from 3 created.
So, value editing not execute in real time, changes is required apply from button (is good for my script with highpoly mesh objects)
import bpy
from random import randint

class VIEW3D_PT_monkeygen(bpy.types.Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = &quot;Panel&quot;
    bl_label = &quot;UI&quot;

    def draw(self, context): 
        scene = context.scene
        layout = self.layout
        
        # Generating button
        # nonstop random values generating in draw function
        # values sending to execute function
        ops = layout.operator('mesh.monkeygen', text='Generate random monkey')
        # all existing values
        ops.op_x = randint(1,10)
        ops.op_y = randint(1,10)
        ops.op_size = randint(1,5) # private value for example
        
        # Buttons x y, for control defined values in PropertyGroup
        layout.prop(scene.monkeyprops,'op2_x')
        layout.prop(scene.monkeyprops, &quot;op2_y&quot;)
        
        # Apply defined values from PropertyGroup and sending to execute function
        ops2 = layout.operator('mesh.monkeygen', text='From values')
        # only changeable values
        ops2.op_x = scene.monkeyprops.op2_x
        ops2.op_y = scene.monkeyprops.op2_y

class MESH_OT_monkeygen(bpy.types.Operator):
    bl_idname = &quot;mesh.monkeygen&quot;
    bl_label = &quot;Monkey Generator&quot;
    #bl_options = {'REGISTER', 'UNDO'}
    
    op_x = bpy.props.IntProperty(
        name=&quot;Pos x&quot;, default=1, min=1, max=10,
    )
    op_y = bpy.props.IntProperty(
        name=&quot;Pos y&quot;, default=1, min=1, max=10,
    )
    op_size = bpy.props.IntProperty(
        name=&quot;Pos y&quot;, default=1, min=1, max=4,
    )
    
    def execute(self, context):
        meshes = bpy.data.meshes
        # remove previos mesh
        for mesh in meshes:
            if 'Suzanne' in mesh.name:
                meshes.remove(meshes[mesh.name])
        
        #do something
        bpy.ops.mesh.primitive_monkey_add(size=self.op_size, location=(self.op_x, self.op_y, 0))
        
        # set random values to defined values
        bpy.data.scenes['Scene'].monkeyprops.op2_x = self.op_x
        bpy.data.scenes['Scene'].monkeyprops.op2_y = self.op_y
        
        return {'FINISHED'}

class MonkeyProperty(bpy.types.PropertyGroup):
    
    op2_x = bpy.props.IntProperty(
        name=&quot;Pos x&quot;, default=1, min=1, max=10,
    )
    op2_y = bpy.props.IntProperty(
        name=&quot;Pos y&quot;, default=1, min=1, max=10,
    )

blender_classes = [
    MESH_OT_monkeygen,
    VIEW3D_PT_monkeygen,
    MonkeyProperty,
]

def register():
    for bpy_class in blender_classes:
        bpy.utils.register_class(bpy_class)
    bpy.types.Scene.monkeyprops = bpy.props.PointerProperty(type=MonkeyProperty)

def unregister():
    for bpy_class in blender_classes:
        bpy.utils.unregister_class(bpy_class)
    del bpy.types.Scene.monkeyprops

if __name__ == &quot;__main__&quot;:
    register()