Skip to content

kkostov/QwiftUI

QwiftUI

Blog post

This is an experiment to create a Swift UI library based on Qt6. As research, this is a tiny todo application using Swift 6.2 and Qt6 widgets made usable in a safe way (e.g. using Swift's concurrency)

Some constraints I set for this experiment:

  • No additional tooling or build systems - let's try to use only swift features.
  • No additional dependencies - let's see if the effort required to write out the wrappers is acceptable for a standalone, dependency-free package.

Currently it builds on macOS and Linux, but the goal is to focus more on Linux and Windows as target platforms where SwiftUI/AppKit are not available.

15f7b8db1454f667.mp4

Targets

Setup

This is hardcoded for now:

The Package.swift is configured to expect the qt6 headers in a location used by Homebrew (brew install qt): opt/homebrew/Cellar/qt/6.9.1 for macOS

On Linux, the path is set to /usr/include/qt6 which is the default on Fedora.

Resources

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.

About

Experiment to create a Swift UI library based on Qt6

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks