Use wxpython as a design library to work on GUI interfaces

Hi everyone, I’m new to the community. I wanted to understand something.

I have a software that has been using wxPython as it’s GUI library. I intend to make changes to the interface of this software, i.e. design new screens, add new user flows, but I don’t know how to code. I want to use the GUI components from wxPython in this project, is there a way to use them in my designs without coding in python?

Hi,

There are some UI Builder tools such as wxGlade and wxFormBuilder that will help design the layout and appearance of an application’s window. When you have completed the layout, you click on a button and the builder will generate the code to produce the window and its contents.

You say you want to modify an existing application. Was it written using a UI Builder? Do you have access to the builder files for the project?

Even if you do, the code that is produced by a UI Builder just covers the layout and appearance of an application and not its behaviour. For example, if a user interacts with a window by clicking on one of its buttons, there needs to be some code which performs whatever action is required. I’m not aware of any tool that can add that code for you - that seems to be getting into the realms of AI code generation. I have no idea if any current AI model is capable of doing that.

The existing software I have was written in Python, and uses wxPython as it’s GUI framework. and yes, I do have the source code of the software. I forgot to mention that we are two people now working on the next version of this software. My friend is handling the coding part, where he will code the functionality I want to bring to the software.

That being said, I’m handling the design or the blueprint of this software, I have to create new user flows and iunteractions. To do so I need to create the screens to work on, and hence I need the UI components. A way I figured was to replicate components on Figma by hand, which will be quite cumbersome, hence wanted to know an easier way.

What I’m looking for is a kind of design system for wxPython: Design Systems Repo | A Collection of Design System Resources or https://www.figma.com/community/file/1248375255495415511/apple-design-resources-ios-17-and-ipados-17
something of this sort. I hope this makes it clearer as to what I’m looking for.

Such a file, with an exhaustive list of component and text styles will help me build the screens to be coded by my partner for this project.

I think yes, this is what I need. My friend will code the interactions. What are some UI builders for wxPython? Are the ones you mentioned above drag and drop? What are the prerequisites for using a UI builder?

I am not aware of a design system for wxPython that is similar to those in the link you provided.

The main resources are the documentation: https://docs.wxpython.org/

and the demo program which gives examples of each of the components in wxPython: Index of /wxPython4/extras/4.2.1

I have used wxGlade for many years. It’s not drag and drop, instead you click on a component in a palette and then click where you want it to go in the design window. However, you do need to have an understanding of how a user interface should be structured in wxPython in order to be able to use it properly. The first thing would be to download and install it and then work through the following tutorial: Tutorial Project: Calculator — wxGlade 1.0.0 documentation

Note: you will need to have Python and wxPython installed on your PC in order to run the demo program and/or wxGlade.

I haven’t used wxFormBuilder myself, but there are other members of this forum who have. Perhaps they can offer some advice on its use.

1 Like

well, the nature of figma is the web based collaboration of ideas as a whiteboard driven by vector graphics whereas a GUI designer may take over after those ideas become somewhat stable, I think :upside_down_face:

1 Like

Yes I am looking to create new user flows using wxPython Ui components, it’s a mix of both Whiteboarding and creating new polished screens

running in browser (I suppose, NiceGui) :innocent: (ideas may turn abysmal)

Let’s hope likeanushkaa doesn’t take 15 years and utilize 5,000 people on a project that finally gets thrown in the bin :slight_smile:

Hopefully not, since I have to submit my thesis by end of May 2024!

1 Like

Well… What you describe may seem simple, but is the probably most advanced question that cannot be answered… why…?

We’ll get your ol’ pen and paper out and let’s start. Draw a square big enough you can draw other squares in it(possibly). Multiply by ten thousand and divide by ten… Hmmm what is the unit???

There are many art applications, like Photoshop, altho I’m not going to break your mind explaining what you might need to do or pay(designing may not be your thing)…
Anyhow, for a free try me awesome budget there is ‘Krita’ . You can try a professional art application to do your work, tho keep in mind the geometry, scaling, and absolute points are all up to you to interpret. This is often the given answer in any language if you don’t know how to code or builders are still too much a pain to learn. I recommend ‘Krita’ because it has python scripting available and can run wxPy programs right from a paint layer. ‘Photoshop’ classic used to use JavaScript.

There are many other options, but what I have suggested is the easiest for noobs, but by far the most complicated for even seasoned users. The choice is up to you.