Skip to content

Window::size should return the preferred size before the window is shown. #6724

Open
@hunger

Description

@hunger

Taken from #6608 :

I need to center a newly displayed dialog window (from a Dialog .slint component) on another window (the app's main window). But the size of the dialog window before calling show(), as reported by slint::Window::size() -> PhysicalSize, is 800x600, which is incorrect and simply seems to be a default size on Windows.

Calling Window::request_redraw() before doesn't work. Calling show() directly before centering also doesn't work. As a workaround, I have to defer the centering on the main window with dialog.as_weak().upgrade_in_event_loop(...), which means show() will run before.

Is a function that ensures layouting at a point in time required by the developer missing?

Metadata

Metadata

Assignees

No one assigned

    Labels

    a:layoutsRelated to the layouting and positioning of the elements (mO,bT)priority:lowLowest priority. The issue is kept open for tracking purpose, but noone is actively working on this

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions