Skip to content

Using the rxqt::run_loop in a large code base #28

@michalfapso

Description

@michalfapso

Hi Tetsuro. Thanks for this library.

What is the preferred way to use the rxqt::run_loop in a larger codebase with a lot of classes?

As all qt gui related methods have to be run in the main (gui) thread, in all such cases, I need to add .observe_on(main_thread) before each .subscribe(...). I saw your example https://github.com/tetsurom/rxqt/blob/master/sample/thread/main.cpp, but when the code is spread among multiple source files, these options come to my mind:

  1. Encapsulate the rxqt::run_loop in a singleton and initialize it after QApplication
  2. Create the rxqt::run_loop after QApplication, and then put just the result of rxqt_run_loop.observe_on_run_loop() into a singleton.
  3. Before each place where I'd like to use .observe_on(main_thread), I'd put
    rxqt::run_loop rxqt_run_loop;
    auto main_thread = rxqt_run_loop.observe_on_run_loop();
    

Are these approaches equivalent in functionality? The 2. option would lead to the least code bloat. What would you prefer?

Thanks for any hints.
Michal

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions