2019-08-07 23:24:38

hi. I wanna start coding apps(not games), that are usable for sighted and blind people. I want to do that in python. But what is the best way to get started in doing such things? I tried to use extream download manager as example for private playing, but the wxpython module didn't worked on my computer. Are there any other good resurces to start? Thanks, simter.

Coding is fun. You can how ever only code good if you have enough motivation to do so.

Give the new devs a motivation. Don't expect to much from their first steps cause after all they are new, but give them some chances.

2019-08-08 00:05:13 (edited by Rastislav Kiss 2019-08-08 00:18:33)

Hi there,
well, firstly, you'll need to get used to the language, a good tutorial should help you in this.
You need to know at least how to make and use inheritance in Python, enums and also its system of methods arguments, which could be bit tricky if you're coming from a statically typed programming language like BGT.
Then look for wxphoenix, that's the continuation of wxPython, although they're doing some strange things with names, as there was a special wxphoenix package before and now it looks like it's rather included in wxPython... again.
Anyway, wxphoenix or wxpython should both give you enough examples to keep going. Apis're very similar to each other, so you shouldn't have big troubles figuring out how to do things.
Or rather than searching Google for tutorials, you can check out:
https://wxpython.org/
to see, what is officially recommended to read.

Best regards

Rastislav

Thumbs up

2019-08-08 03:53:29

Assuming you've downloaded Python proper and are already familiar with it, WxPython is an accessible GUI library, but not completely, requiring frequent trial and error troubleshooting. If you've had problems getting it working, you could try posting the traceback and we could try troubleshooting it. Other libraries you could try out are Pygame, Pyglet, or possibly some of the more recent versions of PyQT. Contrary to popular belief, they aren't just for games, heh.

Next up would be [Tolk] for screener reader access with an example [here], followed by some [OpenAL Examples] I have around for positional audio and additional effects.

What sorts of applications did you have in mind on making?

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

Thumbs up

2019-08-08 08:30:09

PyQT isn't as accessible as wxPython though. I've used wxPython several times already. Its true that it can be pretty tricky and trial-and-error-like, but it can create almost entirely accessible GUIs at least, whereas QT still is a bit of a problem if it comes to accessibility. GUI creation however for a blind person will probably always mean trouble due to GUI elements not being aligned properly. This won't be a problem for other blind guys, but sighted people will probably not be able to use your program, so keep that in mind. You can of course go ahead and create command-line tools to do the job, they are pretty common especially in the Linux world and Python does have some fancy support libraries for that like argparse which is pretty impressive, especially if you manage to wrap your head around stacking multiple parsers and such.
Best Regards.
Hijacker

Thumbs up

2019-08-08 17:49:49

I have always had trouble using wxpython and understanding it.

best regards
never give up on what ever you are doing.

2019-08-08 18:01:10

@4, this is not necessarily correct for QT. QT will align your widgets properly, whereas WX, I do not believe, does this. QT is quite accessible, with a few minor problems that are not QT's fault, but the fault of NVDA:
* Multi-line edit boxes do not function properly
* NVDA does not treat edit boxes as normal edit boxes, so going to the start or end of an edit box does not behave properly (this is due to the NVDA not following the system carrot, I think)
* Tree views and list boxes will read, but only once; tabbing away and then back to them will not let you know they are there, however interacting with them is still possible
* Combo boxes do not read when they are adjusted without expanding them.
This is, again, NVDA's fault, not QT's. QT has made massive leaps in accessibility.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.

Thumbs up

2019-08-09 00:51:54

I want to develope simple gui aplications like a little download thingy and maybe also a rpg when i am more experienced. I am right now making my self familiar with python a bit using the nathan tech python tutorial.

Coding is fun. You can how ever only code good if you have enough motivation to do so.

Give the new devs a motivation. Don't expect to much from their first steps cause after all they are new, but give them some chances.

2019-08-09 01:39:18

I would personally recommend QT for GUI apps (its generally easier to use than WX is). For games, use something like SDL2.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.

Thumbs up

2019-08-09 17:02:15

@4: although I don't use wxPython to make gui apps and rather use WPF & C# for this purpose, so I don't know many details about wx, but I personally wouldn't be that pessimistic regarding the user interface.
Yes, may be they won't look as perfect as when designed by a sighted person, but basically if you manage to at least prevent components overlapping, the app should be usable.
As i said, I don't know much about wxPython, but I was developing gui applications in Delphi long time ago, using the absolute positioning and it not just worked, but also looked acceptable.

Regarding qt, there were always accessibility problems with it. not just with pyqt, but even with the C++ library (surprisingly smile).
I don't know whose fault it is, but it has never worked properly as far as I remember, lastly I tried few months ago.
On the other hand wxPython worked quite well from what I have tried, for Jaws as well as NVDA.

Best regards

Rastislav

Thumbs up

2019-08-09 23:36:30

QT 5 is the library you want to use. I use it in an app and it works brilliantly.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.

Thumbs up

2019-08-10 00:25:56

As i understood you need to by qt. Also idk if qt is multi platform.

Coding is fun. You can how ever only code good if you have enough motivation to do so.

Give the new devs a motivation. Don't expect to much from their first steps cause after all they are new, but give them some chances.

2019-08-10 05:49:03

You do not need to buy QT unless your using it in specialized environments or charging for your app. You just have to obey their version of the GPL. (To be fair, tat version is hard to interpret for some, and even I'm not sure on exactly what they want you to do.) I wouldn't worry about it though.
Also, yes, QT is cross-platform. It runs on literally everything.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.

Thumbs up