2020-01-15 12:33:35

Hello.
Today, the day came when I could have sworn that I would never develop GUI applications with C++.
I need to do the task for the University. To develop such an application:
Simple notepad, with the ability to enter text. On the menu, which will features such as open file, save file, edit functions, undo, copy, paste, etc.
I tried the QT, but it's not access well for NVDA.
I need to write all the code without using constructors. For this reason, I cannot use MFC.
What solutions can I use?
Maybe someone has a similar example?
I'm even willing to pay for C++ developers work, but I cannot afford more than $10.
I'll be glad of any help.
Thanks in advance!

Thumbs up

2020-01-15 13:06:36

Hmm, a good bet could be wxWidgets, its serves as the basis for wxPython which is itself mostly screen reader accessible. Maybe something else like Juce, there's a whole list of UI libraries [here].

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

Thumbs up

2020-01-15 13:10:43

Is it possible to create an accessible application with QT?
I made the application, but it's not accessible!
https://dropmefiles.com/cAsVk

Thumbs up

2020-01-15 13:17:46

My general experience working with C++ applications is limited. There seems to be a series of Qaccessible functions available for QT5, which are part of accessibility for QWidget applications. There's some info on it [here], [here], [here], and [here].

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

Thumbs up

2020-01-15 13:31:59

There was a problem with the encoding. But the textbox also works badly...

Thumbs up

2020-01-15 13:45:39

So if someone needs, you can download my example here!
https://dropmefiles.com/TKO1k

Thumbs up +1

2020-01-15 19:46:03

Just warning you, WXWidgets in C++ is an absolute mess. QT5 in my experience is much easier to work with.

"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

2020-01-16 03:25:06 (edited by nyanchan 2020-01-16 03:33:26)

@7
Would you mind elaborating this? From my experience with wxPython, I know that it starts buggy and irritating as soon as trying to change background / text colours or associating icons (I even injected a bit of C++ code, subclassed the window and handled what wxPython couldn't!!), but I didn't find anything messy at the basic point. Does it totally change with pure C++? I still assume that wxPython is a simple wrapper for wxWidgets...
Btw, I totally do not understand "don't use constructors". What the? So, does it mean

string a="Can't I be used?";
Is not accepted because string::string(const char*) is internally called? I admit that my point of view is a little bit distorted, but I seriously do not understand the constraints from the teacher, textbook or whatever.

I don't speak as good as I write, and I don't listen as good as I speak.

2020-01-16 04:48:59

@8, If your learning C++, "Don't use constructors" sounds like pure garbage and makes me question the authors knowledge. Constructors are *everywhere*. You *cannot* not use them. It is impossible.
WXWidgets, from what I've seen, is an utter mess in C++ because they use macros literally everywhere. You want to declare the event table? Macro. You want to declare an event? Macro. And on and on and on. To me it is the absolute *wrong* way to code, and I think that QT5 got it right. To be fair, QT5 uses a lot of macros as well, however most of the macros you use are easy to understand and there are function alternatives if you want to use those instead. I also found it to just generally utilize C++ a lot better. Does it have its warts and problems? It does, I won't deny that. But to me it was just so much simpler to understand than WXWidgets (wich IMO overuses macros). I'm surprised that people who maintain WXWidgets can actually understand what the code does at all. (It also doesn't help that the build system is ridiculously overcomplicated either.)

"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