# Qt Programming Language

• @sierdzio said in Qt Programming Language:

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.

I tried typing the code qmake ceremonyscriptgenerator.pro
make
into the command prompt (cmd.exe), but I get the following error.
"qmake" is not a valid internal or external command or operable program.
Does anyone know why this error occurs? Do I have to have Qt Creator installed on my machine?

• You don't need Qt Creator. Qt itself is enough, because qmake is part of it. If cmd complaints it can't find qmake it's probably because it is not in the PATH environment variable. I have not used Qt on Windows for a long time, but if nothing's hanged, you can probably run a Qt-provided command line which has the tools properly set up.

Alternatively, with your current command line, you can point it directly to where qmake is located, like this:

c:\path\to\where\qt\is\bin\qmake.exe file.pro


Oh, right. Possibly you need to type in "qmake.exe" instead of just "qmake" on Windows.

• @sierdzio said in Qt Programming Language:

You don't need Qt Creator. Qt itself is enough, because qmake is part of it. If cmd complaints it can't find qmake it's probably because it is not in the PATH environment variable. I have not used Qt on Windows for a long time, but if nothing's hanged, you can probably run a Qt-provided command line which has the tools properly set up.

Alternatively, with your current command line, you can point it directly to where qmake is located, like this:

c:\path\to\where\qt\is\bin\qmake.exe file.pro


Oh, right. Possibly you need to type in "qmake.exe" instead of just "qmake" on Windows.

I've searched in my computer's hard drive, and I can't find Qmake.exe, as it was uninstalled along with Qt Creator. Is there a way for me to find a direct download to just the Qmake.exe component? If so, where do I search?

• @Annabelle No you will have to install Qt. You don't need to install the Creator part of Qt, but if you do it won't hurt. You can disable the install of Qt Creator as an advanced part of the install.

• @Annabelle No you will have to install Qt. You don't need to install the Creator part of Qt, but if you do it won't hurt. You can disable the install of Qt Creator as an advanced part of the install.

I tried that, but even the installer can't be fully accessed with JAWS or NVDA. Not even the built-in Microsoft Narrator that comes with Windows 7 can access that checkbox you're talking about. I've put in an Email message to the Qt Creator team, and unfortunately they haven't sent me an answer yet.

• @tekojo maybe you can use your magic powers to ping people at Qt Company? See the post by @Annabelle above.

• @sierdzio said in Qt Programming Language:

@tekojo maybe you can use your magic powers to ping people at Qt Company? See the post by @Annabelle above.

I'm confused! Who's Tekojo?

• He's the community manager but currently pretty busy with the Qt Contributor Summit as well as Qt World Summit.

• @Annabelle It won't hurt to just do the default install with Qt Creator. You'll still get Qt and the command line tools like Qmake using the default install. So I wouldn't worry about not being able to access that checkbox.

Would be a nice thing to have fixed for the future though.

• @ambershark Is it possible we could write Morse code aka keyboard and just tab through the boxes on the installer and select what she needs by pressing keys?

• @Sunfluxgames You wouldn't really have to write anything.. someone could just run the installer and figure out the exact keypresses she needs to get to the box she wants to uncheck and then list them here. If she's careful she can do it without a screen reader.

Also having a friend help install it would work too.

But again, it's not necessary at all to uncheck qt creator. I usually let it install Qt Creator and I pretty much never use it. I can spare the 200mb or whatever it is on my hard drive though. :)

• @SGaist said in Qt Programming Language:

He's the community manager but currently pretty busy with the Qt Contributor Summit as well as Qt World Summit.

I've got Qt Creator on my machine, and unfortunately I'm not able to create widgets without a mouse. I wonder, are there any keyboard equivalents to mouse clicks for creating widgets and wizard pages?

• @Annabelle Absolutely.. I do all my widgets in code. I almost never use the designer to create my forms/widgets.

I.e. if you want a label and text entry field you could do:

QWidget *w = new QWidget();
w->resize(600,400);
QHBoxLayout *box = new QHBoxLayout();
w->setLayout(box);
w->show();


• @Annabelle Absolutely.. I do all my widgets in code. I almost never use the designer to create my forms/widgets.

I.e. if you want a label and text entry field you could do:

QWidget *w = new QWidget();
w->resize(600,400);
QHBoxLayout *box = new QHBoxLayout();
w->setLayout(box);
w->show();


Do you have any remote access software where you could log on to my computer and show me what you mean? For example, ITeleport? By keyboard shortcuts, I mean something like:
"Create New Widget" (Alt+W)
"Set Layout" (Control+Shift+L)
"Show/Hide" (Control+Shift+H)
"Resize" (Control+R)

• @Annabelle You wouldn't need shortcuts to create anything.

In notepad++ you would create a class that can create dynamic widgets with you passing arguments for size and name in the function. All the designer lets us do is make it easier to drag and drop widgets into place while building code for us.

In your case you going to build your application through C++ and .h files.

• @Annabelle You wouldn't need shortcuts to create anything.

In notepad++ you would create a class that can create dynamic widgets with you passing arguments for size and name in the function. All the designer lets us do is make it easier to drag and drop widgets into place while building code for us.

In your case you going to build your application through C++ and .h files.

I'm still a bit confused, because I want to try the Qt Designer, but I seem to be left in the dust as to how I would have access to the command to create, add, delete, and show/hide widgets without keyboard shortcuts. Since I have 0% vision, this is why I use a screenreader and keyboard shortcuts. I wonder if any of the Qt Creator administrators could help with making the program more screenreader friendly. Image-based icons are a screenreader's weak point. text-based icons and menus with detailed descriptions are what is accessible to both sighted and blind individuals alike.

• @Annabelle You should really take ambershark's advice. Code all your widgets in notepad++ and use the command line to complie your project into a .exe

Then have someone with vision look over your project to make sure it looks the way you think. Even with the basics understanding of C++ your project is very simple to do.

• @Annabelle You should really take ambershark's advice. Code all your widgets in notepad++ and use the command line to complie your project into a .exe

Then have someone with vision look over your project to make sure it looks the way you think. Even with the basics understanding of C++ your project is very simple to do.

I tried the code:

qmake ceremonyscriptgenerator.pro
make


but it gives me the error message that "qmake is not a valid internal or external command or operable program". This is even after Qt Creator and all of its components are completely installed on my machine. Perhaps there's something I'm doing wrong? Maybe I could ask my friend, Markus Johnson (yes, that's "Markus" with a K, not a C), if he could try to set up some mouse movement scripts for Qt Designer with Axife Mouse Recorder (http://www.axife.com).

• Hi
It cannot find qmake. you must use full path to it
like
C:\Qt\5.9.1\msvc2015_64\bin\qmake.exe
but yours will something with mingw and not msvc2015_64

• Ok, so you have installed Qt again in full I assume. And you are back to the very same error you had before when you used:

qmake ceremonyscriptgenerator.pro
make


But remember, you already got an answer to solve this by @sierdzio :

@sierdzio said in Qt Programming Language:

Alternatively, with your current command line, you can point it directly to where qmake is located, like this:

c:\path\to\where\qt\is\bin\qmake.exe file.pro


Oh, right. Possibly you need to type in "qmake.exe" instead of just "qmake" on Windows.

• Oh @mrjj got there first. :P

• @Annabelle There's very little chance of you being able to use the designer without sight. You absolutely have to use a mouse.

However you do not need the designer to make user interfaces. You just code them like I showed you. No designer required, all can be done with your editor of choice, i.e. Notepad++.

So really you just need to learn Qt by reading documentation and or books with your reader. Then you can literally just write the code, no vision required other than having someone check your layouts and such to make sure things looks good.

• @SGaist said in Qt Programming Language:

That's where signals and slots comes into play. For each control proposing a choice you will have a slot that will modify your UI based on the state/choice of the control that was just modified.

So for example, connecting a push button to a signal would look like:

    signalMapper = new
QSignalMapper
(this);
signalMapper->setMapping(BackButton,
QString
("Step 1.txt"));
signalMapper->setMapping(NextButton,
QString
("Step 3.txt"));
signalMapper->setMapping(CancelButton,
QString
("Cancel"));

connect(BackButton, &
QPushButton::
clicked,
signalMapper, &
QSignalMapper::
map);
connect(NextButton, &
QPushButton::
clicked,
signalMapper, &
QSignalMapper::
map);
connect(CancelButton, &
QPushButton::
clicked,
signalMapper, &
QSignalMapper::
map);


• @SGaist said in Qt Programming Language:

That's where signals and slots comes into play. For each control proposing a choice you will have a slot that will modify your UI based on the state/choice of the control that was just modified.

Specifically, when I talk about filling in gender-specific words in the finished text, for example, when "Female" is selected, the appropriate gender-specific pronouns (she, her, hers, herself) are automatically printed in the place which would say "Gender pronoun" if neither radio button is selected. Same goes for gender nouns (man, woman, boy, girl).

• @SGaist said in Qt Programming Language:

With C++ the QComboBox widget or with Qt Quick the ComboBox QML type.

Does the documentation on the QComboBox widget specifically have instructions on how to add items to a combo box? I've searched there, and it only tells me properties inherited from other QWidgets, along with a detailed description of the QComboBox.

• @Annabelle You're looing for addItem and addItems.

• @SGaist said in Qt Programming Language:

You can use a QLabel when you want to show some text.

What I meant is something like:

class SpouseWidget : public QWidget {
Q_OBJECT
public:
enum Gender {
Bride,
Groom
}
public:
SpouseWidget(QWidget *parent = 0);
QString name() const;
Gender gender() const;

private:
QLineEdit *nameLineEdit;
QButtonGroup *genderButtonGroup;
};

SpouseWidget::SpouseWidget(QWidget *parent):
QWidget(parent),
nameLineEdit(new QLineEdit),
genderButtonGroup(new QButtonGroup(this)

brideButton->setProperty("gender", SpouseWidget::Bride);
bride->setChecked(true);
groomButton->setProperty("gender", SpouseWidget::Groom);

QHBoxLayout *genderLayout = new QHBoxLayout;

QFormLayout *layout = new QFormLayout(this);
}

QString SpouseWidget::name() const
{
return nameLineEdit->text();
}

SpouseWidget::Gender SpouseWidget::gender() const
{
QAbstractButton *button = genderButtonGroup->checkedButton();
QVariant genderVariant = button->property("gender");
return genderVariant.value<SpouseWidget::Gender>()
}


Then in your page you can use a QGroupBox for each spouse with an instance of SpouseWidget inside.

One thing I'm stumped on is the use of "public" and "private". Are those parameters meant to share some of the widgets with the general population, but hide any widgets with what would otherwise be regarded as personal information?

• I wonder if I can use QAccessible widgets instead. What would those look like? For example, would I write something like:
I wonder if they have QAccessible versions of QRadioButton, QComboBox, and QListBox?

• @mrjj
You're right that Qt Creator doesn't work with screenreaders. I sure wish I could find something that does work, aside from just creating the file in a plain text editor like Notepad. And you're also right that screenshots would be useless for me, as I can't see anything at all, not even lights and colors.

• So as an example, if I want the gender-appropriate wordings to be printed in the finished script, triggered by the "Groom", "Bride", "Male" or "Female" radio buttons being checked, how would I do this? For example, the default text that appears in the Wedding Ceremony script if neither gender radio button has been checked, and if no names have been given, would be something like:

(Name), will you have this person to be your lawfully wedded spouse, to have and to hold from this day forward? Will you love him/her, comfort him/her, honor and keep him/her in sickness and in health? And, forsaking all others, be faithful only to him/her, so long as you both shall live?

(Name) would of course be replaced by the names of the individuals being married, which the customer will type in the edit boxes named "Spouse 1 Name" and "Spouse 2 Name". If the Bride radio button is checked, "person" would be replaced with "woman", and "spouse" would be replaced with "wife" and "him/her" (or would it be easier to put "them" for unspecified gender) would be replaced with "her". When the Groom radio button is checked, "Person" would be replaced with "Man" and "Spouse" would be replaced with "Husband", and "him/her" would be replaced with "him". Or, I could put an option where "husband" and "wife" could be customized to say "life partner", "lover", or whatever the couple chooses to call each other in an edit box. Maybe that edit box can be triggered by a radio button that says "custom Title". Also, I have a checkbox named "SameLastName". If checked, an edit box appears that is called "Last Name For Couple". However, I want to make it so that if the checkbox is unchecked, the "Last Name For Couple" edit box is hidden, and instead, two edit boxes appear that are called "Last Name for Spouse 1" and "Last Name for Spouse 2". How would I code these parameters?

• @Annabelle I can't help you with the chm part, but if you need help compiling I can help you figure out both qmake and cmake. Cmake being my preferred method of building Qt projects.

I build everything command line and rarely use IDEs. That sounds exactly what you're looking for if you are using notepad++ and just need a command line build.

Is Cmake built in to the Command Prompt in Windows 7? Or would I have to install it from a download at an external source? I also ask this about Qmake. The reason why I ask is because I tried typing the Qmake code that someone posted earlier on the forum, and it said something along the lines of, "Qmake is not an operable program or a valid internal command". What's up with that, I wonder?

• Is Cmake built in to the Command Prompt in Windows 7? Or would I have to install it from a download at an external source? I also ask this about Qmake. The reason why I ask is because I tried typing the Qmake code that someone posted earlier on the forum, and it said something along the lines of, "Qmake is not an operable program or a valid internal command". What's up with that, I wonder?

No, cmake is not installed on Windows by default. You can get it from here: https://cmake.org/files/v3.12/cmake-3.12.1-win64-x64.msi I see some warning about this installer on cmake website (https://cmake.org/download/), but I'm not a regular Windows user so I don't know whether this warning can be ignored or not.

About qmake: when you install Qt, it will not update the system PATH variable - so qmake won't be available in standard command prompt. There are 2 ways around it:

• open Qt command prompt (it will be installed to Qt directory in start menu)
• or type full path to qmake in normal Windows command prompt (it will be something like c:\Qt\5.11.1\mingw53_32\bin\qmake.exe)

• @sierdzio said in Qt Programming Language:

Is Cmake built in to the Command Prompt in Windows 7? Or would I have to install it from a download at an external source? I also ask this about Qmake. The reason why I ask is because I tried typing the Qmake code that someone posted earlier on the forum, and it said something along the lines of, "Qmake is not an operable program or a valid internal command". What's up with that, I wonder?

No, cmake is not installed on Windows by default. You can get it from here: https://cmake.org/files/v3.12/cmake-3.12.1-win64-x64.msi I see some warning about this installer on cmake website (https://cmake.org/download/), but I'm not a regular Windows user so I don't know whether this warning can be ignored or not.

About qmake: when you install Qt, it will not update the system PATH variable - so qmake won't be available in standard command prompt. There are 2 ways around it:

• open Qt command prompt (it will be installed to Qt directory in start menu)
• or type full path to qmake in normal Windows command prompt (it will be something like c:\Qt\5.11.1\mingw53_32\bin\qmake.exe)

Does that warning refer to the program possibly not having passed Window logo testing? I've had that warning on several programs, and even hardware drivers. Do I just press enter on "Continue Anyway"?

• Does that warning refer to the program possibly not having passed Window logo testing? I've had that warning on several programs, and even hardware drivers. Do I just press enter on "Continue Anyway"?

Perhaps, I don't know to be honest. It is a package from official cmake website, though, so I would assume it's safe to click "continue anyway".

• @sierdzio said in Qt Programming Language:

Does that warning refer to the program possibly not having passed Window logo testing? I've had that warning on several programs, and even hardware drivers. Do I just press enter on "Continue Anyway"?

Perhaps, I don't know to be honest. It is a package from official cmake website, though, so I would assume it's safe to click "continue anyway".

I know my machine with Windows 7 64 Bit comes with Visual C 2012. Will that be the program that works with Cmake in the command line? I'm confused on this one.

• I know my machine with Windows 7 64 Bit comes with Visual C 2012. Will that be the program that works with Cmake in the command line? I'm confused on this one.

cmake is a build system. It uses compilers (like Visual c++ compiler) to compile your code. So in that regard it works very similar to qmake - it parses a project file, produces a Makefile, and then you can run make to compile the project.

• Which widget would I use to display the text of a ceremony script? I'm confused as to whether I want a QTextEdit, or some other widget. What I specifically want to do is display the text across the entire screen in Step 20. Is there such a widget as a QPanel? Here's an example of what I mean when I say, completed text in Step 20. This is in HTML. This is displayed after one presses the "Finish" button when creating a ceremony.

<title>Wedding Ceremony Script</title>
<div class="panel panel-orange-side wedding-ceremony-section" id="processional-section" style="">
<div class="panel-body">
~ Introductory Music ~
<div class="panel-body"> ~ Here Comes The Bride ~
</div>
</div>

	<div class="panel panel-orange-side wedding-ceremony-section" id="welcome-statement-section" style="">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> We have come together by invitation to witness and join with <strong>Kurt</strong> and <strong>Mary Jane</strong> as they make a sacred commitment with each other – the sacred affirmation of their love, through marriage.  So let us honor this sacred time in their lives by putting all the cares of the world and our lives aside to become fully present with them on this, their wedding day.  And, let us open our hearts to the experience of oneness with them as they take their vows.</p><p><strong>Kurt</strong> and <strong>Mary Jane</strong>, this is a special day for you.  There has never been a day quite like this one, so cherish every moment, knowing that you are surrounded by family and friends who support you in the step you are taking.  Treasure the love you feel right now.  You were drawn together by a force both powerful and beautiful.  That force we know as love.</p><p>I invite each of you here to close your eyes and quietly, in your own way, become aware of that love…the presence of the divine, which is called by many names, and known here today as God.</p></div>

<div class="panel panel-orange-side wedding-ceremony-section" id="welcome-statement-section" style="">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Let us pray. Creator of us all, we acknowledge the gift that drew <strong>Kurt</strong> and <strong>Mary Jane</strong> into each others lives.  We are grateful for your loving presence in each of us and give thanks for the opportunity to be present at the marriage of these , your people.  May they know joy, peace, hope, prosperity and happiness.  Bestow your blessings upon them in this moment and forever.  Amen.</p></div>

<div class="panel panel-orange-side wedding-ceremony-section" id="family-blessing-section" style="visibility: visible;">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Will you, parents of <strong>Kurt</strong> and <strong>Mary Jane</strong>, give your blessings to their marriage?<br><br><span class="text-blue"><strong>Parents:</strong></span> We will.</div>
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Will you, family and friends of <strong>Kurt</strong> and <strong>Mary Jane</strong>, do all in your power to support them and uphold their marriage?<br><br><span class="text-blue"><strong>Company:</strong></span> We will.</div>
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Who presents <strong>Mary Jane</strong> to be married to <strong>Kurt</strong>?<br><br><span class="text-blue"><strong>Wilbur D'Arcy</strong> Rankin:</strong></span> Her Mother and I do.</div>

<div class="panel panel-orange-side wedding-ceremony-section" id="wedding-sermon-section" style="visibility: visible;">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Kurt</strong> and <strong>Mary Jane</strong>, true marriage is more than the legal uniting of two people. It is a spiritual covenant uniting two souls already in harmony with each other.  We are here to bear witness to your choosing to spend your lives together. You are taking into your care and keeping the happiness of the one in all the world whom you love best; and by the same token, something of the happiness of all whom you love and who love you.  Marriage is a blessed privilege and a sacred responsibility. Both of you are trusting that your partner will love you and stand by you, but for a marriage to succeed there must be a lasting commitment through both good times and difficult ones.  Remember to renew that commitment daily by letting each other know you love them.  Nothing is easier than saying the words on this day, and nothing can be more difficult than living those words day by day, so do whatever it takes to keep your commitment alive!

<div class="panel panel-orange-side wedding-ceremony-section" id="consecration-section" style="visibility: visible;">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Under the eyes of God, and by the power of the Unity Of The Valley Church of <strong>Eugene,</strong> <strong>Oregon</strong>, I solemnly consecrate these matrimonial proceedings and the sacred covenant you shall both enter into on this day.</p><p>Marriage is an ancient rite. As you enter into this union, you are choosing to take part in a historical human establishment and are pledging your commitment before the witnesses present here today to enter into that tradition with honor.</p><p>As Jesus said:  <em>"Have you not read that He who made them at the beginning ‘made them male and female,"</em> he also taught that, <em>"For this reason a man shall leave his father and mother and be joined to his wife, and the two shall become one flesh'? So then, they are no longer two but one flesh. Therefore what God has joined together, let not man separate."</em></p></div>
</div>

<div class="panel panel-orange-side wedding-ceremony-section" id="declaration-of-intent-section" style="visibility: visible;">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Will you, <strong>Kurt Harlan</strong> Schrum</strong>, take <strong>Mary Jane</strong> to be your wife, promising to cherish, nurture and protect her, whether in good fortune or adversity, and to seek together with her a life of happiness, love and virtue?</p><p><span class="text-blue"><strong>Kurt:</strong></span> I will.</p></div>
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Will you, <strong>Mary Jane</strong> Morison</strong>, take <strong>Kurt</strong>, to be your husband, promising to cherish, nurture and protect him, whether in good fortune or adversity, and to seek together with him a life of happiness, love and virtue?</p><p><span class="text-blue"><strong>Mary Jane:</strong></span> I will.</p></div>

<div class="panel panel-orange-side wedding-ceremony-section" id="exchange-of-vows-section" style="visibility: visible;">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Before the very sacred exchange of vows, I would like to share with you a thought for your wedding day.  Imagine yourselves saying this to each other.</p><p>I love you not only for what you are, but for what I am when I am with you.  I love you, not only for what you have made of yourself, but for what you are making of me. I love you for the part of me that you bring out. I love you for putting your hand into my heaped-up heart and passing over all the frivolous and weak things that no one else has looked quite far enough to find. I love you for ignoring the possibilities of the fool in me and for laying hold of the possibilities of good in me. I love you for adding to the music in me by worshipful listening. You have done it without a touch, without a word, without a sign.  You have done it by being yourself.</p></div>
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Kurt</strong>, will you look into <strong>Mary Jane</strong>’s eyes and into her heart and repeat after me?</p><p><span class="text-blue"<strong>Kurt:</strong></span> I <strong>Kurt</strong> take you <strong>Mary Jane</strong> as my wife, I pledge to share my life openly with you - to speak the truth to you in love.  I promise to honor - and tenderly care for you - to cherish and encourage your fulfillment - as an individual - through all the changes of our lives.  I love you.</p></div>
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Mary Jane</strong>, will you look into <strong>Kurt</strong>’s eyes and into his heart and repeat after me?</p><p><span class="text-blue"<strong>Mary Jane:</strong></span> I, <strong>Mary Jane</strong> take you, <strong>Kurt</strong> as my husband, I pledge to share my life openly with you - to speak the truth to you in love.  I promise to honor - and tenderly care for you - to cherish and encourage your fulfillment - as an individual - through all the changes of our lives.  I love you.</p></div>

<div class="panel panel-orange-side wedding-ceremony-section" id="exchange-of-rings-section" style="visibility: visible;">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> May I have the rings please?  Each ring symbolizes the unending, everlasting love made known in the world, as well as the complete and unending love that exists between you, in purity of mind and heart.</p><p><strong>Kurt</strong>, take <strong>Mary Jane</strong>'s ring and place it on the third finger of her left hand.  Gently hold it there, look into her eyes, and repeat after me.</p></div>
<div class="panel-body"><p><span class="text-blue"><strong>Kurt:</strong> With this ring I thee wed, and with it bestow upon you all the treasures of my mind, my heart and my hands.  I love you.</p></div>
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Mary Jane</strong>, take <strong>Kurt</strong>'s ring and place it on the third finger of his left hand.  Gently hold it there, look into his eyes, and repeat after me.</p></div>
<div class="panel-body"><p><span class="text-blue"><strong>Mary Jane:</strong> With this ring I thee wed, and with it I bestow upon you all the treasures of my mind, my heart and my hands.  I love you.</p></div>

<div class="panel panel-orange-side wedding-ceremony-section" id="candle-lighting-section" style="visibility: visible">

<div class="panel panel-orange-side wedding-ceremony-section" id="pronouncement-section" style="visibility: visible">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Now that <strong>Kurt</strong> & <strong>Mary Jane</strong> have given themselves to each other by solemn vows, with the joining of hands and the giving and receiving of the rings, by the power vested in me by the Unity Of The Valley Church, the city of <strong>Eugene</strong>, the state of <strong>Oregon</strong>, and the country of <strong>United States Of America</strong>, I now pronounce that they are husband and wife in the Name of the Father, and of the Son, and of the Holy Spirit.  Those whom God has joined together let no one put asunder.</p>

<div class="panel panel-orange-side wedding-ceremony-section" id="kiss-section" style="visibility: visible">
<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> You may express your love with a kiss.</p></div>

<div class="panel panel-orange-side wedding-ceremony-section" id="presentation-section" style="visibility: visible;">
<div class="panel-body"><p><strong>Minister:</strong></span> Friends and family, it is with the greatest of pleasure that I present to you <strong>Mr. and Mrs.</strong> <strong>Mary Jane</strong> and <strong>Kurt</strong> Schrum</strong>!

<div class="panel panel-orange-side wedding-ceremony-section" id="recessional-section" style="visibility: visible;">
<div class="panel-body">
~ Exit Music ~
<div class="panel-body"> 				~ Wedding March ~
</div>
</div>


</div>

• Which widget would I use to display the text of a ceremony script? I'm confused as to whether I want a QTextEdit, or some other widget. What I specifically want to do is display the text across the entire screen in Step 20. Is there such a widget as a QPanel? Here's an example of what I mean when I say, completed text in Step 20. This is in HTML. This is displayed after one presses the "Finish" button when creating a ceremony.

I notice that your HTML document contains lots of "div" classes. This suggests to me that it relies on an external CSS stylesheet to visually format the script contents.

QTextEdit and QTextBrowser can display simple HTML and CSS, but they don't support all modern HTML and CSS.

A full-fledged HTML and CSS renderer is QWebEngineView, in the Qt WebEngine Widgets module. Give it a try. Note: You might need to re-run your installer and select the installer; I can't remember if it's installed by default. Also, on Windows, Qt WebEngine requires a recent Visual Studio compiler because it uses Chromium internally. Chromium doesn't support the MinGW compiler.

• @JKSH said in Qt Programming Language:

Which widget would I use to display the text of a ceremony script? I'm confused as to whether I want a QTextEdit, or some other widget. What I specifically want to do is display the text across the entire screen in Step 20. Is there such a widget as a QPanel? Here's an example of what I mean when I say, completed text in Step 20. This is in HTML. This is displayed after one presses the "Finish" button when creating a ceremony.

I notice that your HTML document contains lots of "div" classes. This suggests to me that it relies on an external CSS stylesheet to visually format the script contents.

QTextEdit and QTextBrowser can display simple HTML and CSS, but they don't support all modern HTML and CSS.

A full-fledged HTML and CSS renderer is QWebEngineView, in the Qt WebEngine Widgets module. Give it a try. Note: You might need to re-run your installer and select the installer; I can't remember if it's installed by default. Also, on Windows, Qt WebEngine requires a recent Visual Studio compiler because it uses Chromium internally. Chromium doesn't support the MinGW compiler.

The HTML was an example. I wonder if there is an equivalent to Div classes in Qt. Like something for plain text?