Qt Programming Language
-
@SGaist said in Qt Programming Language:
Like shown in my sample widget, you should use layouts in order to place your widgets around in your application. Therefore my suggestion, put your text into a QLabel with setText and then put that label at the appropriate place within the layout.
As for the plugin, it might be out of date regarding the version of Notepad++. If possible, I'd recommend using Qt Creator in order to build your application. It would likely make things easier.
I can't access Qt Creator with my screenreader, JAWS (Job Access With Speech). That's why I'm making the code in Notepad++. I just wish I knew how to make the finished program.
-
I'm still a bit stuck on this Qt Programming Language. Since I can't access Qt Creator with my JAWS screenreader, as it doesn't recognize image-based icons, how else can I create a finished program after compiling the source code in Notepad++? Anybody have any answers for me?
-
@Annabelle
So you can compile it already?
Or is it the compiling part that is hard to do ?Can the JAWS read a command prompt ?
-
I'm still a bit confused on how to make the finished program. I can't access the Qt Creator, since my screenreader, or any screenreaders, for that matter, won't recognize image-based icons. Is there a way for someone blind like me to create a finished program such as the app I'm putting together, after compiling the source code in Notepad++?
-
Do you have the code ready, with a .pro file (it is a project definition file that Qt uses to compile applications)? If yes, then you can compile your project from the command line. Open cmd.exe (I guess you are on Windows operating system) and type:
qmake yourprojectname.pro make
That should be enough, assuming your environment is prepared (qmake and compiler are both set up in PATH system variable).
As a side note, as far as I know there is an accessibility team working at Qt Company, I'm sure they will be happy to hear how both Qt and Qt Creator can be improved to help blind people. You can try reaching them at qt-creator@qt-project.org. You can also subscribe to Qt Creator mailing list here: http://lists.qt-project.org/mailman/listinfo/qt-creator.
-
@mrjj said in Qt Programming Language:
@Annabelle
So you can compile it already?
Or is it the compiling part that is hard to do ?Can the JAWS read a command prompt ?
I can make the source code, it's the compiling the finished program part that's hard. Yes, JAWS can read a Command Prompt. What do I do in there?
-
@Annabelle Sorry, I was at work when I made my initial response to this thread. A more elaborate answer for you follows as I take it you are beginning in Qt and it may be difficult for you to look up resources.
Given the scope of your project I think it will suffice to use a simple Qmake project file such as:
TEMPLATE = app QT += widgets SOURCES += main.cpp \ MainWindow.cpp \ SpouseWidget.cpp HEADERS += \ MainWindow.h \ SpouswWidget.h OTHER_FILES += \ anyotherfile.png
You may need to make changes to this in order to fit the needs of your project, but this should be a good enough example for you.
Once you have this in place, you can open up your favorite Command Line Interface (eg. cmd.exe for Windows).
Type:
qmake myapp.pro make
Your compiler will generate a binary file for your application at this point.
I hope this helps,
Have fun. -
Another thing I'd like to do is make icons for the push buttons, radio buttons, combo boxes, and checkboxes. I'd like to find out, is it OK for me to use unicode symbols as icons? For example:
In the welcome screen, there are the following Radio Buttons
β (Wedding Ceremony Radio Button)
~β² (Baptism Ceremony Radio Button)
βΌ (Funeral Ceremony Radio Button)
For the Spouse Genders, there should be the following Icons:
π° (Bride Radio Button)
π€΅ (Groom Radio Button)
For the Baptism Person Types, there should be the following Icons:
π¦πΆπ§ (Infant Radio Button)
π¦π§ (Child Radio Button)
π¦π¨π§π© (Youth Radio Button)
π¨π΄π©π΅ (Adult Radio Button)
For the Funeral Ceremony Types, there should be the following icons:
β° (Funeral Radio Button)
β± (Memorial Service Radio Button)
Note that some of the icons are composed of two or more unicode characters put together, as I couldn't find separate unicode symbols to represent them. -
You should be able to use QString::fromUtf8() for this: http://doc.qt.io/qt-5/qstring.html#fromUtf8
-
@Allanis said in Qt Programming Language:
You should be able to use QString::fromUtf8() for this: http://doc.qt.io/qt-5/qstring.html#fromUtf8
Could you please be so kind as to give me an example of what one of my icons would look like with the QString::fromUtf8() code? For example: π¦πΆπ§
-
Sure. I'm not sure exactly what you mean. Do you want an image or a code example? either way I whipped up a quick example to demonstrate what it would look like. Here's an image.
Given that your first post mentioned you where visually impaired, I think I may have misunderstood your meaning, so here's an example in code:
QRadioButton* rb = new QRadioButton(); QString str = QString::fromUtf8("<Utf-8 code> Button Name"); rb->setText(str);
Where <Utf-8 code> = the character you wish to display.
Pretty sure there is a nicer way to do it. But I'm off to bed. That should get you started though. -
@Allanis said in Qt Programming Language:
Sure. I'm not sure exactly what you mean. Do you want an image or a code example? either way I whipped up a quick example to demonstrate what it would look like. Here's an image.
Given that your first post mentioned you where visually impaired, I think I may have misunderstood your meaning, so here's an example in code:
QRadioButton* rb = new QRadioButton(); QString str = QString::fromUtf8("<Utf-8 code> Button Name"); rb->setText(str);
Where <Utf-8 code> = the character you wish to display.
Pretty sure there is a nicer way to do it. But I'm off to bed. That should get you started though.So are you thinking I should write something like:
QRadioButton* rb = new QRadioButton();
QString str = QString::fromUtf8("<π°> Button Name");
rb->setText(str);
And for "Button Name", would it be something like:
QRadioButton* rb = new QRadioButton();
QString str = QString::fromUtf8("<π°> Bride");
rb->setText(str);
Something along those lines? -
Yeah that will work. But remove the <> from around your unicode character. I only placed them their as placeholder. It will work by placing the unicode character in your source file as you have done, but I would recommend finding the value for it instead. I'm replying from my phone so I can't look ot up for you.
-
@Allanis said in Qt Programming Language:
Yeah that will work. But remove the <> from around your unicode character. I only placed them their as placeholder. It will work by placing the unicode character in your source file as you have done, but I would recommend finding the value for it instead. I'm replying from my phone so I can't look ot up for you.
@Allanis said in Qt Programming Language:
Yeah that will work. But remove the <> from around your unicode character. I only placed them their as placeholder. It will work by placing the unicode character in your source file as you have done, but I would recommend finding the value for it instead. I'm replying from my phone so I can't look ot up for you.
By value, do you mean the Unicode value? Or do you mean the hexidecimal value? I'm confused!
-
@Annabelle said in Qt Programming Language:
π°
Sorry, I wasn't too clear. You should use the UCN for example: '\u2639' will represent βΉ
There can be problems with this as compilers are required to support only the basic source characters. I'm not sure if Qt gives you much help in way of UCN's so if it doesn't display the character for you, use the literal 'βΉ' in your source, and perhaps see if someone else can help you with the use of UCN as I'm not so sure without reading up on it. Perhaps also try reading up on character sets to understand encodings.Edit:
I just checked up the code for π§QString str1 = QString::fromUtf8("\U0001F467 Button 1");
-
@Allanis said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
π°
Sorry, I wasn't too clear. You should use the UCN for example: '\u2639' will represent βΉ
There can be problems with this as compilers are required to support only the basic source characters. I'm not sure if Qt gives you much help in way of UCN's so if it doesn't display the character for you, use the literal 'βΉ' in your source, and perhaps see if someone else can help you with the use of UCN as I'm not so sure without reading up on it. Perhaps also try reading up on character sets to understand encodings.Edit:
I just checked up the code for π§QString str1 = QString::fromUtf8("\U0001F467 Button 1");
So for Bride:
QString str1 = QString::fromUtf8("\U0001F470 Button 1");
-> Set Text = "Bride"; -
-
@Allanis said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
\U0001F470
That's right. You've got it.
So would this look right?
QString str1 = QString::fromUtf8("\U0001F470 Button 1");
-> Set Text = "Bride";
Not quite sure how to do the "Set Text" part, so I did the best I could when writing the code. So how would I compile the full version of the radio button? Would it look something like this?
QRadioButton *button = new QRadioButton ("Bride", this);
QString str1 = QString::fromUtf8("\U0001F470 Button 1");
-> Set Text = "Bride";