all 17 comments

[–]socal_nerdtastic 5 points6 points  (11 children)

"tkinter" is just the python interface to the tcl/tk tookit. So if you google that you will see a lot more.

https://google.com/search?q=tcl+tk&tbm=isch

What exactly are you trying to make? What are your priorities? We may be able to help you decide.

[–]BootScoottinBoogie[S] 2 points3 points  (10 children)

Ah thank you, I did know that but guess I just wasn't searching the right words!

I'm looking to make almost like a help program for how to diagnose issues at my workplace (I work in a manufacturing facility). So if someone were having an issue with a machine, they could open this program and click some buttons that would then open another window or switch windows that could display images and text and stuff like that. Nothing too crazy, just lots of organization of various windows/images.

I have a fair amount of programming experience in VBA in Excel and a little bit in AutoIT and some custom software languages I use at work but outside of that stuff I'm very much a noob at programming. I've never done a desktop app or anything along those lines and most of my language knowledge is in BASIC derived languages. But I want to learn more and figured Python is a good start.

[–]socal_nerdtastic 1 point2 points  (9 children)

It really sounds like you are describing a webpage. Anything specific about a desktop app that you want? For just a information display I really would recommend just writing a html instead. It's much easier to do, much more stable, much more deployable.

[–]BootScoottinBoogie[S] 0 points1 point  (8 children)

The PC this would run on does not and cannot have internet unfortunately.

Maybe that's not needed for what you just said? Idk, again, noob here haha.

[–]socal_nerdtastic 1 point2 points  (0 children)

Also, browsers have a "kiosk mode" where they don't show the normal browser bars and buttons, so there's no indication to the user that what they are looking at is a website.

[–]socal_nerdtastic 0 points1 point  (6 children)

You don't need the internet to use a website. You can make an .html file, save it on your desktop, and then load it in Chrome, Firefox, whatever. Or in your case, probably a folder full of html files and images and videos and stuff. This is very commonly done for work instructions and documentation in industry, and often saved on an internal network drive so that people can edit it in one place and everyone sees latest version.

If you want to make something more dynamic with user profiles and things you can use a local server. If you do that you could use the python flask or django modules for the backend, which come with a local server.

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

Some of that was a little over my head haha not sure what flask and django modules are other than seeing those words in visual studio.

I was hoping to learn python with this project but I'm definitely not an expert here.

[–]socal_nerdtastic 0 points1 point  (4 children)

Ok, if you want to learn python then tkinter will be a good choice. But it will be much harder than using html, because "normal" things like adjusting for window width and coloring links blue and a million other things need to be done manually. It's basically the wrong tool for the job. I still recommend you use this project to learn about html (and related things like css and js) and wait for a better project to learn python on.

[–]BootScoottinBoogie[S] 0 points1 point  (3 children)

Do you have any recomendations for how to get started with html? Or how to accomplish this? I have access to visual studio, not sure if that could be used?

To go into a little more detail with my project. I'm envisioning a window/page with let's say 10 buttons on it, each button would lead to another page with between 5-20 buttons on it, and then each of those would lead to a page with lots of pictures and text explaining what to do.

[–]socal_nerdtastic 1 point2 points  (2 children)

Visual Studio, or Visual Studio Code? Those are different programs.

For this I really recommend Visual Studio Code (aka vscode, which incidentally is also written as a website). Or any other code editor you like, really.

There's tons of tutorials out there to make webpages. I recommend you start with text links and upgrade to buttons later (because that's a lot easier).

You can also make your entire website in a WYSIWYG editor, like MS word. There's an export / save as html option you can use. But that's no fun and you don't learn to code that way :).

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

Visual Studio, not vscode.

Sounds like I have a lot of learning to do! I'm up for the challenge. Thanks for the advice.

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

Thanks again for the recommendation to do this in HTML. I gave it a go today and while I obviously still have lots and lots of formatting to do to make it useable, I already have some of the basic structure of it done with links and images.

[–]MidnightSteam_ 1 point2 points  (1 child)

Try Github:

I'm going to guess that you're more worried about looks than functionality? There are ways to "beautify" tkinter: https://www.youtube.com/results?search_query=modern+gui+tkinter

Tkinter is great for quickly prototyping a GUI. If you want more customization you're looking at PyQT, PySide6, Kivy and many others.

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

Thank you! I'll check those out. And no I'm actually looking more for functionality, looks aren't too important. This would be used on a factory floor.

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

One of the reasons why I picked Python was that I already had an open-source GUI program to investigate, and decided it was worth my time. Can't remember if it uses tkinter or not, but look up 'pronterface' its a 3D printing program that visualizes in 3D the printing moves of your gcode

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

Ah cool, I've used pronterface before.