Comments (30)
@ShalokShalom Qt# is already in beta, you can find links to the releases and examples in the README. The only major missing piece is template classes and members which I have almost completed.
from qtsharp.
When C# code is compiled, it turns into Microsoft's intermediate language which can be used by any .NET language. So yes, you can use Qt# with F#.
You cannot use QML with F# yet for the same reason you cannot use it with C# - it's a feature not implemented yet.
from qtsharp.
When Qt# is compiled, you just add references to it from your F# code and work. That's it.
from qtsharp.
I can even draw QML
from qtsharp.
And so far as I get this .Net framework thing, is it possible to use C# to call QML in order to embed that combination into a F# project, yes?
from qtsharp.
@ShalokShalom Support for QML needs work on its own so that QML code can affect C# and vice versa (just as it is with C++ and QML). I hope to be able to complete this feature by the end of the year if we're talking about my free time.
from qtsharp.
I mean: Is it the possible to use Qt/QML with F#? Simply by calling it through C#?
.Net compiles all down to CIL?
from qtsharp.
If Qt# worked with QML, using it with F# would've been possible too, yes.
from qtsharp.
Cuz your documentation speaks about C# only. Might be nice to change this, if it applies to all languages of the .Net platform. 👍
This project aims to create Mono/.NET libraries that wrap Qt (https://qt-project.org/) thus enabling its usage through C#
from qtsharp.
@ShalokShalom your suggestion makes perfect sense. Could you please send a pull request with the change?
from qtsharp.
Already done, thanks.
from qtsharp.
Yeah, as I thought.
from qtsharp.
"For now, Qt MinGW for Windows has been the only tested version. Qt for OS X and Linux are planned."
Is this still the case?
The Atomic Game Engine is currently shifting its course, since the current previous maintainer is left. Qt/KDE is a possible solution for their UI, which makes QtSharp an essential player in this concept. 😄
For this, support on the major platforms is important.
Thanks a lot for your support. 😃
from qtsharp.
@ShalokShalom I haven't stopped working, it's just there's quite some more to do. I need to finish the templates first and then I'll spare time on proper Unix support.
from qtsharp.
Thanks a lot.
from qtsharp.
Well, I just found out, that the imperative and object oriented code in F-Sharp looks and works exactly like in C# - this means, so far as I am concerned, that you could easily port your QtSharp onto F#, so we can use inline there?
from qtsharp.
C# produces regular .NET code which can be consumed by any .NET language, F# included.
from qtsharp.
Yes. the thing is, that you use C# to call the Qt functions, yes?
from qtsharp.
Do you mean it makes less difference, if the file is called .cs or .fs?
Do be honest: I have less idea, how a sophisticated app will look, is there much C# specific code too write, in order to call Qt?
from qtsharp.
Ok, thanks. :)
from qtsharp.
If you need Qml integration, I am working on a project that does exactly this. I'd consider it usable for production.
https://github.com/pauldotknopf/net-core-qml
from qtsharp.
Oh, interesting...
from qtsharp.
Oh, no F# API, so I prefer Fable for QML development. Thanks anyway, maybe someone writes an API sometimes.
from qtsharp.
I'm not sure what Fable is. Care to explain quickly? And how does that relate to Qt?
from qtsharp.
Fable translates F# to JavaScript and QML is practically simply a superset of JS.
You can import JS files in your QML code
from qtsharp.
Sure, you can translate F# (or even C#) to JS, but you can't use .NET.
With the project I shared, you can use the full .NET runtime. I'm not sure you'd actually want to transpile Qml javascript, since they have unique (and useful) syntax for signals/etc.
from qtsharp.
With the project you shared, there is no F-Sharp implementation. I am a functional programmer by heart.
from qtsharp.
Why would you even want to use F# with Qt (which is inherently object oriented)?
Also, Qml.Net is a .NET library, which is reference-able from F# (.NET).
But again, you'd be working against the grain because Qt (and C++) is inherently/fundamentally object-oriented.
Having this "F# implementation" isn't practical, nor does it even make sense.
from qtsharp.
QML is declarative
from qtsharp.
To an extent it is, in that you can define the initial object hierarchy declaratively, but beyond that it is entirely object-oriented, not even close to functional.
Something tells me that you don't even know what you're looking for.
Good luck with that.
from qtsharp.
Related Issues (20)
- Unable to use QTreeWidget HOT 2
- Building on Mac OS X HOT 13
- can't use QStringList HOT 2
- The "QObject.Sender" is null HOT 1
- QString and 64 bit support. HOT 4
- Deploy "Generated Source" for binary releases HOT 2
- Packages HOT 2
- Missing Constructors HOT 8
- KDE support HOT 5
- System.EntryPointNotFoundException HOT 8
- QtSharp | SetProperty in QML from CodeBehind HOT 6
- VisualStudio is crashing | “System.InvalidCastException” in Microsoft.CodeAnalysis.Workspaces.dll HOT 3
- Support Sailfish OS? HOT 1
- Can't add more than one string in QtCore.QStringList HOT 1
- System.AccessViolationException in QBoxLayout destructor HOT 1
- QVariant value<QObject>(), qvariant_cast, qobject_cast implementation HOT 1
- System.InvalidCastException: Can't cast type 'CppSharp.AST.Class' into 'CppSharp.AST.ClassTemplateSpecialization'. HOT 5
- Continue development of QtSharp HOT 5
- Support Android And IOS And Mac And Linux
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtsharp.