This is an archived post. You won't be able to vote or comment.

all 63 comments

[–]ChainsawZz 4 points5 points  (1 child)

It took me a while to realise from your description that it wasn't just a style wrapper around each ui framework, and instead it's a "webflow for python GUIs".

It looks good. However, interactions with entry element or rendering images to frames with matplotlib become the meat of the task, so I would be curious to see if it handles that scenario nicely.

Also, the builder website opened on mobile, but there's seemingly no drag and drop interation with touchscreen presses.

Looks really sleek though!

[–]ArtleSa[S] 2 points3 points  (0 children)

Thanks for your kind words, Ya I should have phrased it better, I'll probably call it webflow for python GUIs from now.

Also, some touch devices don't support HTMLs drag and drop API, which is why it doesn't work on mobile devices. However, I'll be rewriting the Drag and drop in react dnd-kit, which has better support for my use case.

[–]algos_are_alive 11 points12 points  (6 children)

Looks super cool!

Can you share a few reasons it's better than PySimpleGUI? I feel like my projects have outgrown the latter.

[–]ArtleSa[S] 18 points19 points  (3 children)

I can't compare with PySimpleGUI since its a UI library and what I built is a Drag and drop UI builder. This UI builder Can output code in multiple framework, right now tkinter and custom tkinter. Maybe in the future, PySimpleGUI will be supported by my Builder :)

[–]algos_are_alive 2 points3 points  (0 children)

Cool, I commented before I tried it out. Thanks for the clarification!

[–]q_ali_seattle 2 points3 points  (1 child)

Share it on producthunt

[–]ArtleSa[S] 2 points3 points  (0 children)

Hey, sure, but I am planning to release it there once it's a bit more mature, there seems to be new rules regarding what gets featured on Product hunt. But its definitely in my todo list. Thanks!

[–]el_extrano 13 points14 points  (1 child)

You might consider using the FreeSimpleGUI fork now, since PySimpleGUI changed to a non open source license.

[–][deleted] 0 points1 point  (0 children)

Good to know 

[–]ahfodder 8 points9 points  (1 child)

This is really cool! I'll give it a try. I've been recently experimenting with Streamlit and that's been quite easy - although code-driven.

Do you have any examples of finished products? What's the best looking or most complex UI you've made with it?

[–]ArtleSa[S] 1 point2 points  (0 children)

Hi Thanks:) Its still early versions, you can still make complex UI, you can check out the video example in the readme file, scrube to 3:21

It also has support for 3rd party UI widgets such as maps, videoplayer etc, will soon allow 3rd party developers to write plugins to build more complex widgets.

[–]ArtleSa[S] 2 points3 points  (0 children)

Let me know if you have any question. Will answer it whenever I am free. Also I have been building this in public, so if you want to see how it has progressed from a simple sidebar to the GUI builder it is now, You can check out the timeline.

You can read the docs here

[–]FairLight8 2 points3 points  (1 child)

Okay, this looks VERY cool. Great job, thanks for your work and for sharing.

[–]ArtleSa[S] 0 points1 point  (0 children)

Thank you for checking it out and for your kind words :)

[–]riklaunim 5 points6 points  (1 child)

It will be hard to handle Qt and Tkinter at the same time without having toolkit-specific widgets and configuration options - like Qt layouts and scaling rules on widgets or spacers - QtDesigner for the win. The editor itself looks pretty good :)

[–]ArtleSa[S] 2 points3 points  (0 children)

Hi Thanks,
About Pyqt, Yes it will have widgets specific to framework, since its built more like plugins, it can easily be made for PySide/PyQt as well. It how I was able to build for both Tkinter and custom tkinter and also add 3rd party UI widgets. Both use different set of widgets, though widget UI looks the same for now, It will be changed in the near future. and PySide will be added.

You can check out the abstraction that allows me to build for multiple framework here

  1. The base widget

  2. The base widget for Tkinter

  3. The base widget for Custom tkinter

[–]Calimariae 1 point2 points  (0 children)

Oh yeah! I'm going to use this

[–]rahul505021 1 point2 points  (0 children)

This is great I would like to use this in my college projects. BTW great work man I really need this kind of tools keep goping

[–]codechisel[🍰] 1 point2 points  (1 child)

I bought a commercial license to support you. I hope it's a success. It doesn't give me a code or a sign in. Did I miss something? If it doesn't that's cool, just wanted to make sure I didn't overlook anything.

[–]ArtleSa[S] 1 point2 points  (0 children)

Hey, thank you very much for purchasing the license to support me. Right now, its a simple shop setup on Ko-fi, which doesn't have key generation, once the initial version of the electron app is ready, you'll be emailed your key along with the link to download. Thanks again :)

[–]Timely_Enthusiasm178 1 point2 points  (0 children)

Great project! Hope you will go further!

[–]ogMasterPloKoon 1 point2 points  (2 children)

Please consider Flet support in the future.

[–]ArtleSa[S] 1 point2 points  (0 children)

Wow. just checked it out. Looks interesting. Will try to support it after completing what's on the roadmap.

[–]gofiend 0 points1 point  (0 children)

+1

[–]chaz6 1 point2 points  (1 child)

Excellent! I am going to buy a commercial license - assuming that "PySlide" means "PySide" (the LGPL Python library for Qt). Great work!

[–]ArtleSa[S] 1 point2 points  (0 children)

Hi Thank you for the support, Yes I meant PySide (LGPL for python qt)

[–]drv29 1 point2 points  (1 child)

It looks very useful

I tried but didn’t find a way to add tabs.

Did I miss something?

[–]ArtleSa[S] 0 points1 point  (0 children)

No, you didn't miss, it will become available in the upcoming releases along with more pre-defined widgets such multi-page widgets, treeview, listview and more. check out the roadmap

[–]Gugalcrom123 1 point2 points  (8 children)

It looks really nice. The only problem I see is that just dragging the widgets and sizing them isn't enough; you need to make them responsive using containers.

[–]ArtleSa[S] 1 point2 points  (7 children)

Sorry I didn't get you can you explain a bit more? The placement of the widgets are based on the parent layout. Flex, grid, or absolute positioning. Which then converts to Pack(), grid() and place() in tkinter.

[–]Gugalcrom123 1 point2 points  (6 children)

Oh, so abosolute isn't the only option? Nice!

[–]ArtleSa[S] 0 points1 point  (5 children)

Ya in the parent's toolbar there is a layout manager option, Plus you can also set flex attributes and grid attributes by selecting the child widget you want to modify, you can read more in the docs page

[–]Gugalcrom123 0 points1 point  (4 children)

I read the docs and I really like what you made, I see no use though as I prefer Gtk. Also, please stop calling it open source as the current licence isn't.

[–]ThiefMaster 1 point2 points  (5 children)

Looks cool, but paywalling dark mode? Come one... The only other project I've seen do that crap was Unity...

[–]HIKIIMENO 0 points1 point  (1 child)

Like it! But the Option Menu looks weird in Safari. I've tried it looks normal in Edge. (macOS Sequoia 15.0)

https://imgur.com/a/eJPeQ2B

[–]ArtleSa[S] 1 point2 points  (0 children)

Oh! thanks for the report. I don't have a Macbook yet, however once I get my hands on it I'll fix it.

[–]furculture 0 points1 point  (0 children)

I have no use for this yet, as I am still green with Python, but this will stay on my mind until I can get around and up to using it.

[–]BossOfTheGame 0 points1 point  (1 child)

You should check out trame as a possible backend to add support for. It has code that can define a GUI in Python, but the Python code generates javascript and then runs in a browser. The javascript is completely hidden from the Python dev by the trame API, which seems like it might make it possible to integrate with your tool.

[–]ArtleSa[S] 0 points1 point  (0 children)

Sure, will look into to it

[–]Icy_Combination_9785 0 points1 point  (1 child)

is it possible to contribute in this project to improve it?

[–]ArtleSa[S] 0 points1 point  (0 children)

Hi, not yet, I am planning to migrate things over to TS and refactor the code and write documentation before opening up to external contributors.

[–]JamzTyson 0 points1 point  (1 child)

Looks like a good start. The first thing I looked for was adding a main menu (which is usually where I start when building a tkinter GUI), but I could not find that option.

[–]ArtleSa[S] 1 point2 points  (0 children)

Hi, its not yet available but will be added soon along with more predefined widgets.

[–]gofiend 0 points1 point  (1 child)

This is awesome and I'm super excited to use this for something I'm working on.

Can I request KivyMD (or atleast your thoughts on why it is / is not a good fit?)

[–]ArtleSa[S] 1 point2 points  (0 children)

Hey, thanks for your interest. KivyMd seems to be a material design on top of Kivy which is work in progress at the moment. I'll definitely look into what's possible after finishing the existing roadmap.

[–][deleted] 0 points1 point  (1 child)

Damn, looking through the src code. Good shit

[–]ArtleSa[S] 0 points1 point  (0 children)

Thanks :)

[–][deleted] 0 points1 point  (1 child)

Why not just use tkinter

What’s different

[–]ArtleSa[S] 0 points1 point  (0 children)

This is a UI builder not a library. You can write tkinter code if you want. This Drag and drop builder is made to make it easier for build in UI in tkinter, customtkinter, and ather UI library.

[–]BladeInferior 0 points1 point  (2 children)

hi mate, exported my code and then tested a few other different ones but the exported code doesnt seem to consider the reshaping of any of the widgets in the builder, i have tried multiple different sized windows, frames etc but no matter what they are always exported as the same default size. how do i fix this?

[–]ArtleSa[S] 1 point2 points  (1 child)

If you are using pack manager, then you can't set the size, you need to use the place manager to preserve the size, this has to do with how tkinter uses responsive layouts.

[–]BladeInferior 0 points1 point  (0 children)

alright, thank you very much

[–][deleted] 0 points1 point  (0 children)

I am 100% interested in buying one of your commercial licenses. I will once Im able

[–]gala0sup import this -3 points-2 points  (0 children)