Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Q

qmlnet

> 编程语言
Open source

Qml.Net - Qt/QML integration/support for .NET

1.4K stars0 likes0 views
WebsiteGitHub

About

Qml.Net - Qt/QML integration/support for .NET

[](https://travis-ci.com/qmlnet/qmlnet) [](https://ci.appveyor.com/project/pauldotknopf/qmlnet/) [](https://gitter.im/qmlnet/Lobby) [](#contributors) [](https://paypal.me/pauldotknopf)

A Qt/Qml integration with .NET

Supported platforms/runtimes:

  • Runtimes:
    • .NET Framework
    • .NET Core
    • Mono
  • Operating systems
    • Linux
    • OSX
    • Windows

First look

Elevator pitch

  • Proven in production.
  • Established GUI/control framework, used in many industries, from desktop to embedded.
  • Excellent community with many open-sourced controls available.
  • Native rendering, done in native code. No expensive PInvoke calls for rendering/animations/etc. The only interop between .NET and Qt is the data models used to drive the GUI.

Documentation

WIP: https://qmlnet.github.io/

Getting started

bash
dotnet add package Qml.Net
dotnet add package Qml.Net.WindowsBinaries
dotnet add package Qml.Net.OSXBinaries
dotnet add package Qml.Net.LinuxBinaries

Note for Linux users: Package libc6-dev is required to be installed because it contains libdl.so that is needed.

Examples

Checkout the examples on how to do many things with Qml.Net.

Quick overview

Define a .NET type (POCO)

…

Register your new type with Qml.

…

Use the .NET type in Qml

…

Currently implemented

  • Support for all the basic Qml types and the back-and-forth between them (DateTime, string, etc).
  • Reading/setting properties on .NET objects.
  • Invoking methods on .NET obejcts.
  • Declaring and activating signals on .NET objects.
  • async and await with support for awaiting and getting the result from Qml.
  • Passing dynamic javascript objects to .NET as dynamic.
  • Custom V8 type that looks like an array, but wraps a .NET IList<T> instance, for modification of list in Qml, and performance.
  • Dynamically compiled delegates for increased performance.
  • Passing QObject types to .NET with support for interacting with signals/slots/properties on them.

There aren't really any important features missing that are needed for prime-time. This product is currently used on embedded devices in the medical industry.

Running Unit Tests

The unit tests can be found in src/native/Qml.Net.Tests.

They can be run directly from Visual Studio, or by using the dotnet test command line tool.

Since the tests rely on the native QmlNet library, you have to ensure the library is in the PATH (on Windows) or otherwise discoverable. If you are trying to run tests against the native library built from the same repository, you can put the src/native/output folder into your PATH or LD_LIBRARY_PATH after running the build.bat or build.sh script.

Contributors ✨

Thanks goes to these wonderful people!


Michael Lamers


TripleWhy


Max


geigertom


James Davila


Andy Fillebrown


Vadim Peretokin


Linus Juhlin

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C#charpmononet-coreqml

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言