r/Python • u/mherrmann • May 11 '18
Create GUI apps with Python in minutes
https://build-system.fman.io5
u/xShinryuu May 11 '18
I just came here to ask about a beginner-friendly GUI framework. I tried Pyforms but I couldn't understand the documentation that well. Is this good?
9
u/ase1590 May 11 '18
This project just uses PyQt. You'd be better off learning to use Tkinter for now. Once you have a good grasp on Object Oriented Programming with python, PyQt is going to be the easiest to pick up.
3
u/xShinryuu May 11 '18
I started with Java so I know OOP
4
u/ase1590 May 11 '18
Then you'll be fine moving directly into PyQt. Documentation is great and github is full of lots of small PyQt projects to look at. ZetCode PyQt5 guide is what a lot of people point at to get started.
1
u/RielDealJr May 11 '18
appJar is a nice easy to use wrapper for tkinter, if you are looking for something simple.
0
u/mherrmann May 11 '18
It's easier than the alternatives for creating something that you can actually ship to your users. If you have not used PyQt (fbs's underlying GUI technology), you might need to take some tutorials on it after that of fbs.
2
u/_sigo_ May 11 '18
Very cool! Slightly off topic question - what's the theme that you're using for this landing page? Is this something custom or a template? Looks nice and clean.
1
5
u/TheTerrasque May 11 '18
Tutorial: "Download the source from here" - for a "Hello World" app. If getting one window without any content to show is so complex you can't show it inline I'm not sure I would trust it.
2
u/mherrmann May 11 '18
You're getting a window and an installer. Show me another technology that lets you do this and can still fit in an inline example.
1
u/TheTerrasque May 12 '18
program.py
import wx app = wx.App() frame = wx.Frame(None, title='Hello World') frame.Show() app.MainLoop()And for packaging:
pip install pyinstaller pyinstaller -Fw program.pyAnd presto, you have a distributable Hello World app. Ready to take the world by storm!
1
u/mherrmann May 14 '18
That's not an installer, ie. a
.dmgfile on Mac or an installation wizard on Windows...
4
2
u/Dorito_Troll May 11 '18
How does this compare to tkinter in your opinion?
6
u/ase1590 May 11 '18
This just uses PyQt, its not anything new.
tkinter is great for small applications.
PyQt is great for applications you need more advanced features in and/or prefer object oriented programming.
2
2
u/MikeTheWatchGuy Jul 19 '18
I just released a new Python GUI SDK meant to allow you to build custom GUIs in minutes. For real... in minutes. I'm not talking just about Message Boxes or single field input forms, but rather flexible forms that don't require a lot of code to implement and use. It's based on tkinter so it doesn't need a bunch of extra packages installed, unlike other GUIs.
To install
pip install PySimpleGUI
I just dashed out this little example form for another post:
https://user-images.githubusercontent.com/13696193/42919952-6cb80060-8ae2-11e8-8277-545fb91b7e17.jpg
Here's all of the code required to build, show, collect results..
form = sg.FlexForm('Rename files in folder', auto_size_text=True, font=('Helvatica', 12))
layout = [[sg.Text('Source Folder', size=(12,1)), sg.Input(),sg.FolderBrowse()],
[sg.Text('Search Pattern', size=(12,1)), sg.Input()],
[sg.Text('Rename To', size=(12,1)), sg.Input()],
[sg.Submit(), sg.Cancel()]]
button, values = form.LayoutAndShow(layout)There are not many choices between zero and tkinter. Jumping right to tkinter is not an easy task for a beginner.
1
-2
68
u/ase1590 May 11 '18
You misspelled appications on your github.
On a closer inspection, it looks like you just outright use PyQt as the GUI toolkit, so this brings no advantage over just straight using PyQt. I think this is a bit dishonest to advertise it as some kind of new GUI toolkit.
Where this does excel is that you seem to have wrapped up some useful tools for deploying your application after making the gui.
In that regard, you have a nice PyQt deployment toolkit.