Using Ring with QML

63 views
Skip to first unread message

Mansour Ayouni

unread,
Oct 26, 2020, 2:46:23 PM10/26/20
to The Ring Programming Language
Hello Mahmoud,

In RingQt, as you know, we can execute any QML file by hosting a QQuickWidget inside a QWidget object and using engine().AddImportPath().

This is useful for showing as-is, any UI written completely in QML.

My question is: What if we want to control the QML thing with Ring? In other terms, how can we interact with the QML objects and events, and program them, with Ring code?

When I looked at that in the Qt/C++ side, it seems necessary to expose the QML properties to C++. I hope we can bring a simpler solution for governing any QML file in Ring like we do actually with HTML in Ring WebLib...

All the best,
Mansour

Mahmoud Fayed

unread,
Oct 27, 2020, 2:25:28 AM10/27/20
to The Ring Programming Language
Hello Mansour

I agree with you, This is on my to-do list

Thanks :D

Greetings,
Mahmoud

Mansour Ayouni

unread,
Oct 27, 2020, 3:42:05 AM10/27/20
to Mahmoud Fayed, The Ring Programming Language
This is great!
Thank you for awareness Mahmoud.
All the best,
Mansour

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ring-lang/f795cfc7-315b-455e-972b-9faff708b362o%40googlegroups.com.

Nestor Kuka

unread,
Oct 27, 2020, 5:06:49 AM10/27/20
to The Ring Programming Language
"This is on my to-do list"

Hello Mahmoud

Even though QML is a nice variant for RING, it seems to me that an easy handling of the graphics is more important. 

Since I've been waiting for it (felt) for ages, I dare to ask at this opportunity, where in your to-do-list this item is located... and with which priority? Asked differently; is the pending list somewhere viewable? 
 
Thanks for the answer in advance.

Mahmoud Fayed

unread,
Oct 27, 2020, 10:09:32 AM10/27/20
to The Ring Programming Language
Hello Nestor

Since I've been waiting for it (felt) for ages, I dare to ask at this
opportunity, where in your to-do-list this item is located... and with
which priority?

It's the first item in my to-do list, because it's a strategic decision
As we have (Ring Game Engine for 2D Games) as an example about (Declarative Programming) in Ring
We will have (Easy handling of the Graphics + GUI too) as an example about (Natural Language Programming) in Ring

is the pending list somewhere viewable?

The public part is a very small list
(1) Graphics Commands (Your Request)
(2) More RingQt Classes (Requested by Mansour)
(3) Better Performance -  Ring2C Plan (Requested by Bert)
(4) More features in Ring Notepad (Requested by Ahmed Hassouna)

This is the list, and there is a delay in delivering these features/updates to the Ring World because I am busy with my commercial projects
I hope that I will return my activity in the Ring project to the expected and usual level by the end of November.

Greetings,
Mahmoud

Nestor Kuka

unread,
Oct 27, 2020, 2:45:13 PM10/27/20
to The Ring Programming Language
Hello Mahmoud
thank you for the prompt reply. yes, it has certain strategic importance and i'm glad you see it that way. even if it does, it should not be integrated into the 2D game engine (remember the problem with delay please). 

one remark on point 4:

there are several really good (open source) ideas that you just have to take and adapt. why reinvent the wheel? spontaneously comes to my mind now: 

(starts very fast)
and

(I do not know yet. but should be fast)

both runs on:
Windows 
Linux 
MacOS 

Greetings  :-)

Mahmoud Fayed

unread,
Oct 28, 2020, 1:40:43 AM10/28/20
to The Ring Programming Language
Hello Nestor

 it should not be integrated into the 2D game engine (remember the problem with delay please).

The Natural Interface for (Graphics Programming & GUI) will not be based on (One Specific Library)
It will be (Library Neutral)
Where we can easily change the back-end (in this case the back-end is a GUI/Game library)
So we can develop using Natural Commands and using one command we can (Use Qt) or (RayLib) or (Allegro) or other GUI options that we may support.

For example, The Game Engine itself is programmed using this way, we can change the library from Allegro to LibSDL without changing the game code
The same idea will be applied to the Natural Interface, where we will have many options (Qt, Allegro, RayLib, etc.)

Greetings,
Mahmoud

Nestor Kuka

unread,
Oct 28, 2020, 4:27:09 AM10/28/20
to The Ring Programming Language
Hello Mahmoud
Thanks for the comprehensive answer. It sounds (much too) good to be true. Or better said ;-) true to become? 
(I have almost given up hope).
Greetings

Mahmoud Fayed

unread,
Dec 30, 2025, 4:11:40 PM (17 hours ago) Dec 30
to The Ring Programming Language
Hello Mansour

>> "My question is: What if we want to control the QML thing with Ring? In other terms, how can we interact with the QML objects and events, and program them, with Ring code?"

Just an update to this topic for future readers

As of 2025.12.30, Our friend Mohannad published RingQML


Greetings,
Mahmoud

Mansour Ayouni

unread,
Dec 30, 2025, 8:09:17 PM (13 hours ago) Dec 30
to Mahmoud Fayed, The Ring Programming Language
Hello All,

I'm very excited about the release of RingQML by our dear friend Mohannad!
Thank you very much!!

Best,
Mansour

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages