Qt Programming Language



  • I am a blind young woman who is a sound designer, as well as a programmer of accessible software. I'm sort of a beginner at programming, I'm in the process of creating my first app, and I have an important question for you. Since the QT Creator is not all the way accessible to screenreaders like JAWS, I wonder if it's possible for me to design Qt widgets with a text editor like Notepad++? If so, what are the codes for designing things like buttons, combo boxes, checkboxes, textboxes, text areas, radio buttons, and sliders? The program that I'm making is an app that I like to call "Ceremony Script Generator". This is an app that contains fillable forms, then generates a finished script in paragraphs and sections. There are different ceremonies for which customers can design a script with wordings of their choice. Basically, with this program, you can generate scripts for Wedding ceremonies, Baptism/dedication/christening/naming ceremonies, and funeral ceremonies/memorial services.


  • Qt Champions 2016

    Hi and welcome
    You can also create widgets directly from code, using normal c++.

    So to create a button

    one would simply do
    QButton *mybutt= new QButton(this);

    Creator uses UI files which are xml files.
    It then reads and convert these to c++ code.
    So there is no text syntax as such for creating interfaces in text.

    You could in theory write the UI syntax directly, but it is most likely not
    very fun.

    Many do not use Creator / Designer at all and write the code directly so yes, it is
    very possible to do.



  • Is there a way I could send you an example via Email of what I'm putting together? Better yet, is there a way for me to attach the example to this forum? The examples I have are HTML at the moment, but I want to turn them into Qt.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    You can past code within the text box where you write your messages.

    You need to use three back sticks on the line before and the line after your actual code.

    You might also want to consider trying KDevelop as an IDE. Although, I can't tell for sure whether accessibility is better supported by it than Qt Creator, I think it's worth a shot.

    On a side note, KDE's next sprint meeting in Randa will be about improving accessibility of all of KDE which will likely also result in improvement in Qt. If you have some time, I'm sure they would appreciate your feedback, suggestions, etc.



  • @SGaist said in Qt Programming Language:

    Hi and welcome to devnet,

    You can past code within the text box where you write your messages.

    You need to use three back sticks on the line before and the line after your actual code.

    You might also want to consider trying KDevelop as an IDE. Although, I can't tell for sure whether accessibility is better supported by it than Qt Creator, I think it's worth a shot.

    On a side note, KDE's next sprint meeting in Randa will be about improving accessibility of all of KDE which will likely also result in improvement in Qt. If you have some time, I'm sure they would appreciate your feedback, suggestions, etc.

    "Back sticks"? What are back sticks? Do you mean like the tags, "<html>"and "</html"? I'm confused on this one!


  • Lifetime Qt Champion

    I mean this char: `

    You also have a toolbar with buttons just above the text area and the last button on the right serves that purpose.



  • Here are a couple examples of what I want to convert from HTML to Qt. In the second example, I've put some javascript to have a textbox hidden when a checkbox is unchecked, and have two other textboxes shown, but then have the two textboxes hidden and the single textbox shown when the checkbox is checked. Unfortunately the way I wrote it didn't work, as the two edit boxes I want to hide are shown even when the checkbox is checked. How would I script that in Qt? Tell me if the formatting looks right to you.

    Example 1

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
    <HTML>
    <head>
    <title>Step 1</title>
    </head>
    			<div class="panel-body">
    				<div data-tab-body="step-1" style="visibility: visible;">
    					<div class="alert alert-info">
    <strong>Welcome:</strong> Choose what type of template you want for your ceremony. You can customize a premade template by modifying it with any wordings you like, or you can start from a blank template, where you'll be able to create a wedding ceremony from scratch.
    </div>
    
    					<div class="row form-group">
    						<div class="col-sm-4">
    							<label class="radio"><input name="basicInfo[template_type]" value="premade" type="radio"> Customize a Premade Template</label>
    							&nbsp;&nbsp;
    							<label class="radio"><input checked="checked" name="basicInfo[template_type]" value="blank" type="radio"> Start From a Blank Template</label></br>
    							&nbsp;&nbsp;
    </div>
    
    <button class="btn btn-primary pull-right" type="button" data-tab-continue="step-2">
    Next
    </button>
    </HTML>
    

    Example 2

    <HTML>
    <head>
    <title>Step 2</title>
    <style>
    body {background-color:powderblue; background-color:transparent; text-decoration:none}
    strong   {color:navy;background-color:transparent; text-decoration:bold}
    p    {color:green; background-color:transparent; text-decoration:none}
    a:link    {color:darkgray; background-color:transparent; text-decoration:none}
    a:visited {color:lightgray; background-color:transparent; text-decoration:none}
    a:active {color:seashell; background-color:transparent; text-decoration:none</style>
    <script language="javascript">
    function showHide() {
      if (document.getElementById("showdiv").style.display == "none") {
        document.getElementById("showdiv").style.display = '';
    	//document.getElementById("t2").style.display = '';
     
      } else {
        document.getElementById("showdiv").style.display = 'none';
    	//document.getElementById("t2").style.display = 'none';
     
      }
    }
    </script>
    </head>
    			<div class="panel-body">
    				<div data-tab-body="step-2" style="visibility: visible;">
    					<div class="alert alert-info">
    <strong>The Basics:</strong> To begin, enter the first names of the couple, the last name(s) they'll be using after their marriage, and the city/town, then select the state/province, and country in which the wedding will take place.
    </div>
    
    					<div class="row form-group">
    						<div class="col-sm-4">
    							<label class="radio"><input checked="checked" name="basicInfo[spouse_one]" value="woman" type="radio"> Bride</label>
    							&nbsp;&nbsp;
    							<label class="radio"><input name="basicInfo[spouse_one]" value="man" type="radio"> Groom</label></br>
    							&nbsp;&nbsp;
    
    <label>"Spouse 1 Name"</label>
    							<input class="form-control" name="basicInfo[spouse_name_one]" id="basic-info-spouse-name-one" type="text">
    
    							<div class="clearfix"></div>
    
    							<label class="radio"><input name="basicInfo[spouse_two]" value="woman" type="radio"> Bride</label>
    							&nbsp;&nbsp;
    							<label class="radio"><input checked="checked" name="basicInfo[spouse_two]" value="man" type="radio"> Groom</label></br>
    							&nbsp;&nbsp;
    
    <label>"Spouse 2 Name"</label>
    							<input class="form-control" name="basicInfo[name_two]" id="basic-info-name-two" type="text">
    							<div class="clearfix"></div>
    						</div>
    
    						<div class="col-sm-4">
    								<label>Last Name for Couple <span class="basic-info-last-name"></span></label>
    								<input class="form-control" id="same-last-name-input" type="text">
    						</div>
    </div>
    							</div>
    
    								<input class="last_name" type="checkbox" name="same_last_name" value="1" onchange="valueChanged()"/ "The Couple Plans To Use The Same Last Name After Marriage">
    
    <script type="text/javascript">
    function valueChanged()
    {
    $("last Name For <strong></strong>").hide();
    $("last name for <strong></strong>").hide();
    $(".same_last_name").click(function() {
        if($(this).is(":checked")) {
            $(".same-last-name-input").show(300);
            $(".last name for <strong>Spouse 1</strong>").hide(200);
            $(".Last Name For <strong>Spouse 2</strong>").hide(200);
        } else {
            $(".last name for couple").hide(200);
            $(".Last Name for <strong>Spouse 1</strong>").show(300);
            $(".Last Name for <strong>Spouse 2</strong>").show(300);
        }
    </script>
    
    						<div class="col-sm-4">
    								<label>Last Name for <strong>Spouse 1</strong><span class="basic-info-spouse-name-one"></span></label>
    								<input class="form-control" id="different-last-name-one" tabindex="5" type="text">
    								<label>Last Name for <strong>Spouse 2</strong> <span class="basic-info-spouse-name-two"></span></label>
    								<input class="form-control" id="different-last-name-two" tabindex="6" type="text">
    </div>
    							
    					<div class="row form-group">
    <div class="col-sm-4">
    <label>City/Town</label>
    							<input class="form-control" name="basicInfo[city/town]" id="basic-info-city-town" type="text">
    </div>
    <label>State/Province</label>
      <select class="form-control" id="state/province">
      <option value="Choose one... selected">Choose one...  --</option>
      <option value="Alabama">Alabama</option>
      <option value="Alaska">Alaska</option>
      <option value="Alberta">Alberta</option>
      <option value="Arizona">Arizona</option>
      <option value="Arkansas">Arkansas</option>
      <option value="Australian Capital Territory">Australian Capital Territory</option>
    <option value="Baker Island">Baker Island</option>
      <option value="British Columbia">British Columbia</option>
      <option value="California">California</option>
      <option value="Christmas Island">Christmas Island</option>
      <option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
      <option value="Colorado">Colorado</option>
      <option value="Connecticut">Connecticut</option>
      <option value="Coral Sea Islands">Coral Sea Islands</option>
      <option value="Delaware">Delaware</option>
      <option value="Florida">Florida</option>
      <option value="Georgia">Georgia</option>
      <option value="Hawaii">Hawaii</option>
      <option value="Heard Island And McDonald Islands">Heard Island And McDonald Islands</option>
    <option value="Howland Island">Howland Island</option>
      <option value="Idaho">Idaho</option>
      <option value="Illinois">Illinois</option>
      <option value="Indiana">Indiana</option>
      <option value="Iowa">Iowa</option>
      <option value="Jarvis Island">Jarvis Island</option>
      <option value="Johnston Atoll">Johnston Atoll</option>
      <option value="Kansas">Kansas</option>
      <option value="Kentucky">Kentucky</option>
    <option value="Kingman Reef">Kingman Reef</option>
      <option value="Louisiana">Louisiana</option>
      <option value="Maine">Maine</option>
      <option value="Manitoba">Manitoba</option>
      <option value="Maryland">Maryland</option>
      <option value="Massachusetts">Massachusetts</option>
      <option value="Michigan">Michigan</option>
      <option value="Midway Islands">Midway Islands</option>
      <option value="Minnesota">Minnesota</option>
      <option value="Mississippi">Mississippi</option>
      <option value="Missouri">Missouri</option>
      <option value="Montana">Montana</option>
      <option value="Nebraska">Nebraska</option>
      <option value="Nevada">Nevada</option>
      <option value="New Brunswick">New Brunswick</option>
      <option value="New Hampshire">New Hampshire</option>
      <option value="New Jersey">New Jersey</option>
      <option value="New Mexico">New Mexico</option>
      <option value="New South Wales">New South Wales</option>
      <option value="New York">New York</option>
      <option value="Newfoundland">Newfoundland</option>
      <option value="North Carolina">North Carolina</option>
      <option value="North Dakota">North Dakota</option>
      <option value="Northern Territory">Northern Territory</option>
      <option value="Northwest Territories">Northwest Territories</option>
      <option value="Ohio">Ohio</option>
      <option value="Oklahoma">Oklahoma</option>
      <option value="Ontario">Ontario</option>
      <option value="Oregon">Oregon</option>
      <option value="Palmyra Atoll">Palmyra Atoll</option>
      <option value="Pennsylvania">Pennsylvania</option>
      <option value="Prince Edward Island">Prince Edward Island</option>
      <option value="Québec">Québec</option>
      <option value="Rhode Island">Rhode Island</option>
      <option value="Seskatchewan">Seskatchewan</option>
      <option value="South Australia">South Australia</option>
      <option value="South Carolina">South Carolina</option>
      <option value="South Dakota">South Dakota</option>
      <option value="Tasmania">Tasmania</option>
      <option value="Tennessee">Tennessee</option>
      <option value="Texas">Texas</option>
      <option value="Utah">Utah</option>
    <option value="Vermont">Vermont</option>
    <option value="Victoria">Victoria</option>
    <option value="Virginia">Virginia</option>
      <option value="Wake Island">Wake Island</option>
      <option value="Washington">Washington</option>
    <option value="Washington, DC">Washington, DC</option>
    <option value="West Virginia">West Virginia</option>
    <option value="Western Australia">Western Australia</option>
    <option value="Wisconsin">Wisconsin</option>
    <option value="Wyoming">Wyoming</option>
    <option value="Yukon Territory">Yukon Territory</option>
    <option value="Not Applicable">Not Applicable</option>
    </select>
    
    <label>Country</label>
      <select class="form-control" id="country">
      <option value="Choose one... selected">Choose one...</option>
      <option value="Afghanistan">Afghanistan</option>
      <option value="Åland Islands">Åland Islands</option>
      <option value="Albania">Albania</option>
      <option value="Algeria">Algeria</option>
      <option value="American Samoa">American Samoa</option>
      <option value="Andora">Andora</option>
      <option value="Angola">Angola</option>
      <option value="Anguilla">Anguilla</option>
      <option value="Antarctica">Antarctica</option>
      <option value="Antigua And Barbuda">Antigua And Barbuda</option>
      <option value="Argentina">Argentina</option>
      <option value="Armenia">Armenia</option>
      <option value="Aruba">Aruba</option>
      <option value="Ascension Island">Ascension Island</option>
      <option value="Ashmore And Cartier Islands">Ashmore And Cartier Islands</option>
      <option value="Australia">Australia</option>
      <option value="Austria">Austria</option>
      <option value="Azerbaijan">Azerbaijan</option>
      <option value="Bahamas">Bahamas</option>
      <option value="Bahrain">Bahrain</option>
      <option value="Bangladesh">Bangladesh</option>
      <option value="Barbados">Barbados</option>
      <option value="Belarus">Belarus</option>
      <option value="Belgium">Belgium</option>
      <option value="Belize">Belize</option>
      <option value="Benin">Benin</option>
      <option value="Bermuda">Bermuda</option>
      <option value="Bhutan">Bhutan</option>
      <option value="Bolivia">Bolivia</option>
      <option value="Bosnia And Herzegovina">Bosnia And Herzegovina</option>
      <option value="Botswana">Botswana</option>
      <option value="Bouvet Island">Bouvet Island</option>
      <option value="Brazil">Brazil</option>
      <option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
      <option value="British Virgin Islands">British Vergin Islands</option>
      <option value="Brunei Darussalam">Brunei Darussalam</option>
      <option value="Bulgaria">Bulgaria</option>
      <option value="Burkina Faso">Burkina Faso</option>
      <option value="Burundi">Burundi</option>
      <option value="Cambodia">Cambodia</option>
      <option value="Cameroon">Cameroon</option>
      <option value="Canada">Canada</option>
      <option value="Cape Verde">Cape Verde</option>
      <option value="Cayman Islands">Cayman Islands</option>
      <option value="Central African Republic">Central African Republic</option>
      <option value="Chad">Chad</option>
      <option value="Chile">Chile</option>
      <option value="China">China</option>
      <option value="Colombia">Colombia</option>
      <option value="Comoros">Comoros</option>
      <option value="Congo">Congo</option>
      <option value="Cook Islands">Cook Islands</option>
      <option value="Costa Rica">Costa Rica</option>
      <option value="Cote d'Ivoire">Cote d'Ivoire</option>
      <option value="Croatia">Croatia</option>
      <option value="Cuba">Cuba</option>
      <option value="Cyprus">Cyprus</option>
      <option value="Czech Republic">Czech Republic</option>
      <option value="Democratic Republic Of Congo">Democratic Republic Of Congo</option>
      <option value="Denmark">Denmark</option>
      <option value="Djibouti">Djibouti</option>
      <option value="Dominica">Dominica</option>
      <option value="Dominican Republic">Dominican Republic</option>
      <option value="Ecuador">Ecuador</option>
      <option value="Egypt">Egypt</option>
      <option value="El Salvador">El Salvador</option>
      <option value="Equatorial Guinea">Equatorial Guinea</option>
      <option value="Eritria">Eritria</option>
      <option value="Estonia">Estonia</option>
      <option value="Ethiopia">Ethiopia</option>
      <option value="Færoe Islands">Færoe Islands</option>
      <option value="Falkland Islands">Falkland Islands</option>
      <option value="Fiji islands">Fiji Islands</option>
      <option value="Finland">Finland</option>
      <option value="France">France</option>
      <option value="French Guiana">French Guiana</option>
      <option value="French Polynesia">French Polynesia</option>
      <option value="French Southern And Antarctic Lands">French Southern And Antarctic Lands</option>
      <option value="Gabon">Gabon</option>
      <option value="Gambia">Gambia</option>
      <option value="Georgia">Georgia</option>
      <option value="Germany">Germany</option>
      <option value="Ghana">Ghana</option>
      <option value="Greece">Greece</option>
      <option value="Greenland">Greenland</option>
      <option value="Grenada">Grenada</option>
      <option value="Guadeloupe">Guadeloupe</option>
      <option value="Guam">Guam</option>
      <option value="Guatemala">Guatemala</option>
      <option value="Guernsey">Guernsey</option>
      <option value="Guinea">Guinea</option>
      <option value="Guinea-Bissau">Guinea-Bissau</option>
      <option value="Guyana">Guyana</option>
      <option value="Haiti">Haiti</option>
      <option value="Honduras">Honduras</option>
      <option value="Hong Kong">Hong Kong</option>
      <option value="Hungary">Hungary</option>
      <option value="Iceland">Iceland</option>
      <option value="India">India</option>
      <option value="Indonesia">Indonesia</option>
      <option value="Iran">Iran</option>
      <option value="Iraq">Iraq</option>
      <option value="Ireland">Ireland</option>
      <option value="Isle Of Man">Isle Of Man</option>
      <option value="Israel">Israel</option>
      <option value="Italy">Italy</option>
      <option value="Jamaica">Jamaica</option>
      <option value="Japan">Japan</option>
      <option value="Jersey">Jersey</option>
      <option value="Jordan">Jordan</option>
      <option value="Kazakhstan">Kazakhstan</option>
      <option value="Kenya">Kenya</option>
      <option value="Kiribati">Kiribati</option>
      <option value="Korea">Korea</option>
      <option value="Kuwait">Kuwait</option>
      <option value="Kyrgyzstan">Kyrgyzstan</option>
      <option value="Laos">Laos</option>
      <option value="Latvia">Latvia</option>
      <option value="Lebanon">Lebanon</option>
      <option value="Lesotho">Lesotho</option>
      <option value="Liberia">Liberia</option>
      <option value="Libya">Libya</option>
      <option value="Liechtenstein">Liechtenstein</option>
      <option value="Lithuania">Lithuania</option>
      <option value="Luxembourg">Luxembourg</option>
      <option value="Macao">Macao</option>
      <option value="Macedonia">Macedonia</option>
      <option value="Madagascar">Madagascar</option>
    <option value="Malawi">Malawi</option>
      <option value="Malaysia">Malaysia</option>
      <option value="Maldives">Maldives</option>
      <option value="Mali">Mali</option>
      <option value="Malta">Malta</option>
      <option value="Marshall Islands">Marshall Islands</option>
      <option value="Martanique">Martanique</option>
      <option value="Mauritania">Mauritania</option>
      <option value="Mauritious">Mauritious</option>
      <option value="Mayotte">Mayotte</option>
      <option value="México">México</option>
      <option value="Micronesia">Micronesia</option>
      <option value="Moldova">Moldova</option>
      <option value="Monaco">Monaco</option>
      <option value="Mongolia">Mongolia</option>
      <option value="Montserrat">Montserrat</option>
      <option value="Morocco">Morocco</option>
      <option value="Mozambique">Mozambique</option>
      <option value="Namibia"><Namibia/option>
      <option value="Nauru">Nauru</option>
      <option value="Netherlands">Netherlands</option>
      <option value="Netherlands Antilles">Netherlands Antilles</option>
      <option value="New Caledonia">New Caledonia</option>
      <option value="New Zealand">New Zealand</option>
      <option value="Nicaragua">Nicaragua</option>
      <option value="Niger">Niger</option>
      <option value="Nigeria">Nigeria</option>
      <option value="Niue">Niue</option>
      <option value="Norfolk Island">Norfolk Island</option>
      <option value="North Korea">North Korea</option>
      <option value="Northern Mariana Islands">Northern Mariana Islands</option>
      <option value="Norway">Norway</option>
      <option value="Oman">Oman</option>
      <option value="Pakistan">Pakistan</option>
      <option value="Palau">Palau</option>
      <option value=Palestine>Palestine</option>
      <option value="Panama">Panama</option>
      <option value="Papua New Guinea">Papua New Guinea</option>
      <option value="Paraguay">Paraguay</option>
      <option value="Peru">Peru</option>
      <option value="Philippines">Philippines</option>
      <option value="Pitcairn Islands">Pitcairn Islands</option>
      <option value="Poland">Poland</option>
      <option value="Portugal">Portugal</option>
      <option value="Puerto Rico">Puerto Rico</option>
      <option value="Qatar">Qatar</option>
      <option value="Réunion">Réunion</option>
      <option value="Romania">Romania</option>
      <option value="Russia">Russia</option>
      <option value="Rwanda">Rwanda</option>
      <option value="Saint Helena">Saint Helena</option>
      <option value="Saint Kits And Nevis">Saint Kitts And Nevis</option>
      <option value="Saint Pierre And Miquelon">Saint Pierre And Miquelon</option>
      <option value="Saint Vincent And The Grenadines">Saint Vincent And The Grenadines</option>
      <option value="Samoa">Samoa</option>
      <option value="San Marino">San Marino</option>
      <option value="São Tomé And Príncipe">São Tomé And Príncipe</option>
      <option value="Saudi Arabia">Saudi Arabia</option>
      <option value="Senegal">Senegal</option>
      <option value="Serbia">Serbia</option>
      <option value="Seychelles">Seychelles</option>
      <option value="Singapore">Singapore</option>
      <option value="Slovak Republic">Slovak Republic</option>
      <option value="Slovenia">Slovenia</option>
      <option value="Solomon Islands">Solomon Islands</option>
      <option value="somalia">Somalia</option>
      <option value="South Africa">South Africa</option>
      <option value="South Georgia And The South Sandwich Islands">South Georgia And The South Sandwich Islands</option>
      <option value="South Korea">South Korea</option>
      <option value="Sudan">Sudan</option>
      <option value="Suriname">Suriname</option>
      <option value="Svalbard And Jan Mayen Islands">Svalbard And Jan Mayen Islands</option>
      <option value="Swaziland">Swaziland</option>
      <option value="Sweden">Sweden</option>
      <option value="Switzerland">Switzerland</option>
      <option value="Syria">Syria</option>
      <option value="Taiwan">Taiwan</option>
      <option value="Tajikistan">Tajikistan</option>
      <option value="Tanzania">Tanzania</option>
      <option value="Thailand">Thailand</option>
      <option value="Timor Leste">Timor Leste</option>
      <option value="Togo">Togo</option>
      <option value="Tokelau">Tokelau</option>
      <option value="Tonga">Tonga</option>
      <option value="Trinidad And Tobago">Trinidad And Tobago</option>
      <option value="Turkey">Turkey</option>
      <option value="Turkmenistan">Turkmenistan</option>
      <option value="Turks And Caicos Islands">Turks And Caicos Islands</option>
      <option value="Tuvalu">Tuvalu</option>
      <option value="Uganda">Uganda</option>
      <option value="Ukraine">Ukraine</option>
      <option value="United Arab Emirates">United Arab Emirates</option>
      <option value="United Kingdom Of Great Britain">United Kingdom Of Great Britain</option>
      <option value="United States Of America">United States Of America</option>
      <option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
      <option value="United States Virgin Islands">United States Virgin Islands</option>
      <option value="Uruguay">Uruguay</option>
      <option value="Uzbekistan">Uzbekistan</option>
      <option value="Vanuatu">Vanuatu</option>
      <option value="Vatican City">Vatican City</option>
      <option value="Venezuela">Venezuela</option>
      <option value="Vietnam">Vietnam</option>
      <option value="Wallis and Futuna">Wallis and Futuna</option>
      <option value="Yemen">Yemen</option>
      <option value="Zaire">Zaire</option>
      <option value="Zambia">Zambia</option>
      <option value="Zimbabwe">Zimbabwe</option>
    </select>
    
    <button class="btn btn-primary pull-left" type="button" data-tab-continue="step-1">
    Back
    </button>
    
    <button class="btn btn-primary pull-right" type="button" data-tab-continue="step-3">
    Next
    </button>
    /HTML>
    ``


  • And here's yet a third example. This one is an example of a finished script that can be generated when a customer completes the steps to customize a wedding ceremony. Again, this one is in html, but I want to put it in Qt. This example is actually the ceremony script I've compiled for my upcoming wedding.

    <head>
    <title>Wedding Ceremony Script</title>
    </head>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="processional-section" style="visibility: visible;">
    			<div class="panel-heading">Processional</div>
    			<div class="panel-body">
    				~ Introductory Music ~
    			<div class="panel-body"> ~ "Feel The Summer Breeze" By Paul Hardcastle ~
    			<div class="panel-body"> ~ "Down By The Sea" by Men At Work ~
    			<div class="panel-body"> ~ "Wanna Be Loved" by John Legend ~
    			<div class="panel-body"> ~ "I Will" by Ben Taylor ~
    			</div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="welcome-statement-section" style="visibility: visible;">
    			<div class="panel-heading">Welcome Statement</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Welcome to this day of celebration, it's great to have all of you here to witness the union of <strong>Annabelle</strong> and <strong>John</strong> as life partners before the summer breeze, the warm sun, the soft sand, and the beautiful waves of the ocean. Together, we will share in the joys of their wedding, both with the outward celebration of this occasion and with an internal appreciation for the love that surrounds us.</p><p>We are all here to learn about loving and being loved, and to watch the miracle of love exchanged, as it enriches every one of us. Therefore, we appreciate the opportunity to witness the shared love of this beautiful couple.</p><p><strong>Annabelle</strong> and <strong>John</strong>, you two have the opportunity to build an amazing life together. You are very lucky to share this experience with the loved ones gathered here to support you as you embark on this journey together.</p><p>May you all remember and cherish this ceremony, for on this day, with love, we will forever bind <strong>Annabelle</strong> and <strong>John</strong> together.</p></div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="memorial-candle-section" style="visibility: visible;">
    			<div class="panel-heading">Honoring The Departed</div>
    			<div class="panel-body"> ~ "Memories Of You" by Lewis Luong ~
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> And now, let us all take a few moments to sit back and honor those we love who are not able to attend, but especially those who have since departed this world, and are now dancing on the gentle winds of the sky and the soft waves of the ocean.</p>At this time, the company shall light the memorial candles</p></div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> And now, <strong>Annabelle</strong> would like you all to participate in an interlude that she wrote specially for someone who has inspired her with his music, one that comes from deep within her heart.</p><p><span class="text-blue"><strong>Annabelle:</strong></span> Will you all please join hands and repeat after me?</p><p>At this time, the company shall stand and hold each other's hands.</p><p><span class="text-blue"><strong>Annabelle:</strong></span> High in the skies, there flies a sweet guy.<p><span class="text-blue"><strong>Company:</strong></span> High in the skies, there flies a sweet guy.</p><p><span class="text-blue"><strong>Annabelle:</strong></span> Our beautiful Greg.</p><p><span class="text-blue"><strong>Company:</strong></span> Our beautiful Greg.</p><p><span class="text-blue"><strong>Annabelle:</strong></span> One of Australia's Sons.</p><p><span class="text-blue"><strong>Company:</strong></span> One of Australia's Sons.</p><p><span class="text-blue"><strong>Minister:</strong></span> You may now be seated.</div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="family-blessing-section" style="visibility: visible;">
    			<div class="panel-heading">Family Blessing</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Will you, parents of <strong>Annabelle</strong> and <strong>John</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>Annabelle</strong> and <strong>John</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 will bring <strong>Annabelle</strong> to be married to <strong>John</strong>?<br><br><span class="text-blue"><strong>Mama Jane:</strong></span> I will.</div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="mother's-blessing-section" style="visibility: visible;">
    			<div class="panel-heading">Mother's Blessing</div>
    
    			<div class="panel-body"> ~ "You Are My Home" by Linda Eder and Peabo Bryson ~
    
    			<div class="panel-body"><p><span class="text-blue"><strong>Mama Jane:</strong></span> <strong>Annabelle</strong>, from the moment I first held you, you held me. You held my heart that day, and I’m grateful that your grip has only strengthened through all these years. Wanting the best for you, I tried to be my best for you. Sometimes I reached that goal, and other times I fell short. But I never wavered in wanting the best for you.</p><p>On this day of your wedding, I believe the best is now. Furthermore, I believe that because you are choosing to marry <strong>John</strong>, better times are yet to come. I have always admired you. Yes, there were moments that were difficult for you as well as for me. Life is like that, but I watched you grow and sort things out and stick to what was good. I knew you were courageous and strong. I knew you were adventurous yet wise enough to play safely, loyal enough to share your opportunities, and humble enough to recognize the contributions of others to your success.</p><p>I love you, Little Australian, and I know now that you have reached that stage of transformation from being my little joey, to becoming a beautiful jillaroo. When the time comes, with hope, soon you and <strong>John</strong> may have some little joey roos of your own. And may you nurture them in love, just like what I've always done for you. It’s time now for you to want to and be the best for your husband. I know your marriage will succeed. The commitment of love you are making today comes from deep within you. I have seen it and so has <strong>John</strong>. Of course day-after-day relationships call for more than human beings can sometimes deliver. So I presume that you will discover occasional shortcomings in you as well as in <strong>John</strong>.</p><p>I am confident that these won’t deter you. You are greater than all life’s difficulties. Your marriage will overcome every obstacle. I’m not losing you now, but I rejoice that you are lifting another above me – that you are giving first place to that unique Oneness that every wife and husband is intended to fulfill. I rejoice knowing that you will be most loyal to that part of <strong>John</strong>, and part of you that shall always be united. This pleases me. It’s what I’ve always hoped and worked and prayed for - and consider to be the greatest gift you’ve ever given me. Go, now, with my blessing and applause. I am proud of you. You will be the wife that I always dreamed you would be.</p></div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="speak-now-section" style="visibility: visible;">
    			<div class="panel-heading">Speak Now</div>
    			<div class="panel-body"><span class="text-blue"><strong>Minister:</strong></span> If there is anyone in attendence who has reason to believe that these two life partners may not be joined together in Marriage, let them speak now, or else hereafter forever hold their peace.
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="charge-to-the-couple-section" style="visibility: visible;">
    			<div class="panel-heading">Charge To The Couple</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Annabelle</strong> and <strong>John</strong>, the vows of marriage you are about to take are to be made in love, and most important of all, in full commitment. Therefore, if either of you knows a reason why you may not be joined together as life partners, you must declare it now.</p</div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="reading-section" style="visibility: visible;">
    			<div class="panel-heading">Reading</div>
    			<div class="panel-body"> 				~ "The First Time Ever I Saw Your Face" by Gordon Lightfoot ~
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> And now, <strong>John</strong> will read a poem that he wrote specially for his life partner, <strong>Annabelle</strong>, one that comes from deep within his heart.</p><p><span class="text-blue"><strong>John:</strong></span> You’re the one I’ve been thinkin’ of. You’re the one that I desire. You’re the one I’ve been dreamin’ of. You set my heart on fire! You light my mornin’ sky, when my skies are all grey. You know in my heart, Baby, that’s where you'll always stay. You do somethin’ to me, that I can never explain. But you know the truth, my Darlin’, my love is not a game!</p></div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="consecration-section" style="visibility: visible;">
    			<div class="panel-heading">Consecration</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> As we stand here under the vast sky of love's possibilities, beside the ocean wide and deep, we give expression to our intention that this marriage grow stronger through the seasons. We honor earth and ask that this marriage be abundant and fruitful. We honor wind and ask that they be lifted up to soar through life, safe and calm. We honor fire and ask that their union be warm and glowing with love in their hearts. We honor water to cleanse and soothe this union that it may never thirst for love. Under this wondrous canopy of nature and with all the vast universe as our witness, we hope for them harmony and happiness as they grow forever together. And now it is with the love and respect of all gathered here that we proceed.</p></div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="declaration-of-intent-section" style="visibility: visible;">
    			<div class="panel-heading">Declaration of Intent</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Annabelle Susan</strong> Baradine</strong>, will you give yourself to <strong>John</strong>, to be his life partner, to live together in the unbroken bond of love and marriage? Will you love him, comfort him, honor and keep him, in sickness and in health? And, leaving all others behind, be faithful only to him, so long as you both shall live?</p><p><span class="text-blue"><strong>Annabelle:</strong></span> I Will.
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>John Matthew</strong> Hayes</strong>, will you give yourself to <strong>Annabelle</strong>, to be her life partner, to live together in the unbroken bond of love and marriage? Will you love her, comfort her, honor and keep her, in sickness and in health? And, leaving all others behind, Be faithful only to her, so long as you both shall live?</p><p><span class="text-blue"><strong>John:</strong></span> I Will.
    </div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="exchange-of-vows-section" style="visibility: visible;">
    			<div class="panel-heading">Exchange of Vows</div>
    			<div class="panel-body"> 				~ "Always And Forever" by Luther Vandross ~
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Annabelle</strong> and <strong>John</strong>, I would now invite you to publicly speak your commitment to your partner.</p><p><strong>Annabelle</strong>, would you like to begin?</p><p><span class="text-blue"><strong><strong>Annabelle</strong>:</strong></span> I, <strong>Annabelle</strong>, choose you, <strong>John</strong>, to be my lawfully wedded <strong>life partner</strong>, to have and to hold from this day forward. For better, for worse. For richer, for poorer. In sickness and in health. To love and to cherish. Until death do us part. I promise to learn how to stop behaving like an American, and start behaving like an Australian and Canadian. I promise to never let anyone call you or any of our friends <u>retarded</u>. I promise to always let you help out around the house, especially when it comes to decorating the tree at holiday time. I promise to teach you all those simple tasks like how to open up bread ties, button up buttons, zip up zippers, and lace up shoe laces. I promise to never use any words and phrases that might come across as rude, but especially "Young Lady". I promise to always stand by your side and comfort you when you're crying. I promise to never laugh at you when you cry. I promise to never tell you that boys and men can't cry. I promise to always support you in times of fear, such as your fear of needles and shots. I promise to never tell you all those things that those bad guys say, such as "Control your fear." or "Take it like a man.". I promise to never do any of those bad habits like smoke, drink alcohol, or do drugs. I promise to hold you and our children in tender love and comfort. As singer Mark Anthony would say, I will soothe you when you fall. I'll be right there when you call. You're my greatest love of all.</p><p><span class="text-blue"><strong>Minister:</strong></span> <strong>John</strong>, your turn.</p><p><span class="text-blue"><strong><strong>John</strong>:</strong></span> I, <strong>John</strong>, choose you, <strong>Annabelle</strong>, to be my lawfully wedded life partner, to have and to hold from this day forward. For better, for worse. For richer, for poorer. In sickness and in health. To love and to cherish. Until death do us part. I promise to learn how to stop behaving like an American, and start behaving like an Australian and Canadian. I promise to never tell you that you're denying your heritage. I promise to never let anyone tell you that you're lying about who you are. I promise to let you help out with my work as a portable DJ, especially when it comes to choice of music. I promise to never use any words and phrases that might come across as rude, but especially "Young Lady". I promise to always stand by your side and comfort you when you're crying. I promise to never laugh at you when you cry. I promise to never make fake tears and boohoos at you when you cry. I promise to always support you in times of fear, such as your fear of needles and shots. I promise to never tell you all those things that those bad guys say, such as "You'll get over it." or "Grit your teeth and grin and bear it.". I promise to never do any of those bad habits like smoke, drink alcohol, or do drugs. I promise to hold you and our children in tender love and comfort. In the words of the members of Restless Heart, "I'll be yours until the sun doesn't shine. Till time stands still, until the wind don't blow. When today's just a memory to me, I know. I'll still be lovin' you.".</p></div>
    		</div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="reading-section" style="visibility: visible;">
    			<div class="panel-heading">Reading</div>
    			<div class="panel-body"> 				~ "Magnet And Steel" by Walter Egan ~
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> And now, <strong>Annabelle</strong> will read a poem that she wrote specially for her life partner, <strong>John</strong>, one that comes from deep within her heart.</p><p><span class="text-blue"><strong>Annabelle:</strong></span> Tender love comes from the heart. Two faithful lovers from the start. Shall be together and never apart. When you're in love, it's a beautiful sight. Love is like the sun, shining so bright. Or the evening stars on a moonlit night. Neither one should be shy to say what they feel. True love between lovers is always for real. <strong>John</strong>, you are my magnet, and I am your steel.
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="blowing-ceremony-section" style="visibility: visible">
    			<div class="panel-heading">Bubble Wishing</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> <strong>Annabelle</strong> and <strong>John</strong>, while the words you have spoken have sealed your union, it is the  making of wishes, sent to the open skies by the blowing of bubbles that truly symbolizes the melding of your  two souls. </p><p>At this time, <strong>Annabelle</strong> and <strong>John</strong> would like you all to open up your bottle of bubbles now, and ask everyone gathered here today to join in extending to them your love and support by taking a moment to believe in magic. Please focus on your wish for their relationship to flourish and grow throughout a long and happy life together. So join me now in taking a moment to blow your bubbles out to the Universe and ask that this marriage be blessed and full of sunshine throughout their lives. Please take a deep breath now and send your wishes, blessings and thoughts out for <strong>Annabelle</strong> and <strong>John</strong> as you send your bubbles out into this beautiful day.</p></div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="pronouncement-section" style="visibility: visible">
    			<div class="panel-heading">Pronouncement</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Family and friends, having heard the vows of love they have made, and having witnessed the same in the face of this company, by the power vested in me by the city of <strong>Long Beach</strong>, by the state of <strong>California</strong>, and by the country of <strong>United States Of America</strong>, I am pleased to pronounce <strong>Annabelle</strong> and <strong>John</strong> as life partners, sealed together today both in law and in love.</p></div>
    		</div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="kiss-section" style="visibility: visible">
    			<div class="panel-heading">Kiss</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Congratulations <strong>Annabelle</strong> and <strong>John</strong>, I now invite you to share your first lovers' kiss with each other.</p></div>
    			<div class="panel-body"> 				~ "Love Is Forever" by Billy Ocean ~
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="presentation-section" style="visibility: visible;">
    			<div class="panel-heading">Presentation</div>
    			<div class="panel-body"><p><span class="text-blue"><strong>Minister:</strong></span> Friends, family members, loved ones. It is my happy privilege to present to you, for the first time anywhere, the united couple of life partners, Mr. and Mrs. <strong>Annabelle</strong> and <strong>John</strong> Baradine</strong>!</p></div>
    
    		<div class="panel panel-orange-side wedding-ceremony-section" id="recessional-section" style="visibility: visible;">
    			<div class="panel-heading">Recessional</div>
    			<div class="panel-body">
    				~ Exit Music ~
    			<div class="panel-body"> 				~ "Walkin' My Baby Back Home" by James Taylor ~
    			<div class="panel-body"> 				~ "Love In The Future" by John Legend ~
    			<div class="panel-body"> 				~ "Tropical Bird" by the Trinidad Steel Band ~
    			<div class="panel-body"> 				~ "Could You Be Loved" by Bob Marley ~
    		</div>
    			</div>
    	</div>
    </div>
    </html>
    

  • Lifetime Qt Champion

    There might be several possibilities:

    Otherwise QtQuick might get you more fancy looking UI.



  • I don't want to make web pages, I actually want to make this into an app that runs on all platforms. Mac, Windows, Linux, and so on. By the way, how would I make the combo boxes with all the options, like the ones in the html example, but with Qt?


  • Lifetime Qt Champion

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



  • @Brasch9 said in Qt Programming Language:

    [spam removed]

    What is this? Do we have a spammer in this topic?


  • Qt Champions 2016

    @Annabelle
    Yes its a spammer. He will be banned.


  • Lifetime Qt Champion

    Sadly, like on every forum, it happens from time to time. He's now banned.



  • So when I create the program, how would I automatically generate the finished script in paragraphs and sections when a customer clicks on the Download button with either the mouse or the keyboard on the last step of creating their ceremony script?


  • Qt Champions 2016

    Hi
    What is the finished script ?
    Should it be a document with formatting ?
    Or can a text format do it ?

    There is the QTextEdit Class that can display rich text but what format would the end user want to have the script in ?



  • @mrjj said in Qt Programming Language:

    Hi and welcome
    You can also create widgets directly from code, using normal c++.

    So to create a button

    one would simply do
    QButton *mybutt= new QButton(this);

    Creator uses UI files which are xml files.
    It then reads and convert these to c++ code.
    So there is no text syntax as such for creating interfaces in text.

    You could in theory write the UI syntax directly, but it is most likely not
    very fun.

    Many do not use Creator / Designer at all and write the code directly so yes, it is
    very possible to do.

    So the "*mybutt" part of the "QButton *mybutt= new QButton(this);" code is where I would type a name for the button? For example, QButton *Next= new QButton(this);
    How about for radio buttons and checkboxes?


  • Lifetime Qt Champion

    There's QRadioButton and QCheckBox.



  • @SGaist said in Qt Programming Language:

    There's QRadioButton and QCheckBox.

    When I create those widgets, how would I name them? For example, how would I translate the following code into Qt Widgets?

    							<label class="radio"><input checked="checked" name="basicInfo[spouse_one]" value="woman" type="radio"> Bride</label>
    							&nbsp;&nbsp;
    							<label class="radio"><input name="basicInfo[spouse_one]" value="man" type="radio"> Groom</label></br>
    							&nbsp;&nbsp;
    


  • @mrjj said in Qt Programming Language:

    Hi
    What is the finished script ?
    Should it be a document with formatting ?
    Or can a text format do it ?

    There is the QTextEdit Class that can display rich text but what format would the end user want to have the script in ?

    Isn't a "text edit" something the user would write into? For example, when they get to Step 19, which asks the customer to write what they want to choose for the "Introductory Music", "Interlude Music" which can be played at any time during the ceremony, and "Exit Music", those would be separate multiline edit boxes. The finished document would be one that's not editable, so a plain text format would do. The hard part for me would be how I would notate the widgets for paragraphs and sections.



  • @SGaist said in Qt Programming Language:

    There's QRadioButton and QCheckBox.

    How would I translate this example of checkboxes into Qt Widgets? Also, how would I make the tooltips of these checkboxes be spoken as "tutor messages" by a screenreader?

    							<label class="checkbox">
    								<span data-tooltip="The moments when the Bride/couple approach the altar and exit the wedding venue. Usually accompanied by music and the wedding party.">
    									<input value="processionalRecessional" checked="checked" id="elements-processional-recessional" type="checkbox">
    									Processional/Recessional
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A short greeting from the minister/officiant explaining the significance of the event.">
    									<input value="welcomeStatement" checked="checked" id="elements-welcome-statement" type="checkbox">
    									Welcome Statement
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A special moment of the ceremony, often containing a moment of silence, where the minister/officiant offers the guests a chance to honor those who couldn't attend, especially loved ones who are no longer with us. Guests may opt to light candles in honor of the departed.">
    									<input value="memorialCandle" checked="checked" id="elements-memorial-candle" type="checkbox">
    									Honoring The Departed
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A prayer or call to a higher power or force, often at the opening, as an intercession, or during the closing of the ceremony. This is usually recited by the minister/officiant. Sometimes the guests may be asked to join in.">
    									<input value="Wedding Prayers" checked="checked" id="elements-consecration" type="checkbox">
    									Wedding Prayers
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="Also known as the “Give-Away”, or the “Bridal Presentation”, in which the Bridal Companion (typically her father) “gives”, “brings”, or “presents” her to the groom.">
    									<input value="familyBlessing" checked="checked" id="elements-family-blessing" type="checkbox">
    									Family Blessing
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A controversial element in which the minister/officiant asks those assembled if they approve of the union. Include with caution!">
    									<input value="speakNow" checked="checked" id="elements-speak-now" type="checkbox">
    									Speak Now
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A controversial element in which the minister/officiant asks the soon-to-be married couple if they affirm their union. Include with caution!">
    									<input value="chargeToTheCouple" checked="checked" id="elements-charge-to-the-couple" type="checkbox">
    									Charge To The Couple
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A more elaborate message from the minister/officiant, in which she/he expounds on the virtues of marriage and married life.">
    									<input value="weddingSermon" checked="checked" id="elements-wedding-sermon" type="checkbox">
    									Wedding Sermon
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="The moment where a passage, often a poem, a scripture lesson, or even a song lyric is read, either by the minister/officiant, a guest reader, or even the bride or groom. These can include romantic novel sections, Bible Stories about marriage, love poems, song lyrics about romance, or even passages about how the soon-to-be married couple feels about each other, such as the moment when they first met.">
    									<input value="weddingReadings" checked="checked" id="elements-consecration" type="checkbox">
    									Wedding Readings
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="A short blessing of the ceremony, often containing a prayer or call to a higher power or force.">
    									<input value="consecration" checked="checked" id="elements-consecration" type="checkbox">
    									Consecration
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="It is required by law that a wedding ceremony include a Declaration of Intent to marry between the two individuals electing to join in the marriage contract." This can be in the form of an "I Do", where the minister/officiant asks questions to the soon-to-be married couple beginning with "Do you", and in turn, the couple answers "I do". Or it can be in the form of an "I Will", where the minister/officiant asks questions to the soon-to-be married couple beginning with "Will you", and in turn, the couple answers "I will.".>
    									<input checked="checked" value="declarationOfIntent" id="elements-declaration-of-intent" type="checkbox">
    									Declaration of Intent
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="At this time, the couple exchanges their vows with one another. Often the most emotional part of the wedding. The couple can have a "repeat-after-me", where the minister/officiant read the vows phrase-by-phrase, and they repeat. Or they can have the minister/officiant say the vows in the form of "Do you" or "Will you" questions, in which the couple in turn answers "I Do" or "I Will". The soon-to-be married couple can choose from traditional vows of different denominations, they can even modify them if the ceremony allows, or they can mix and match wordings from different sets of vows if they like. But the beauty of this moment is when soon-to-be married couples often go all out and write their own vows, which they can either render as "I-Do's" or "I-Will's", or a repeat-after-me with the minister/officiant, or they can even read them to each other. Sometimes, if the couple makes vows that are identical, they can often read and say them together.">
    									<input value="exchangeOfVows" id="elements-exchange-of-vows" checked="checked" type="checkbox">
    									Exchange of Vows
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="It has become custom that individuals getting married will exchange rings with one another.">
    									<input value="exchangeOfRings" id="elements-exchange-of-rings" checked="checked" type="checkbox">
    									Exchange of Rings
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="The minister/officiant officially declares the couple as having been legally wed.">
    									<input value="pronouncement" id="elements-pronouncement" checked="checked" type="checkbox">
    									Pronouncement
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="Often, the couple will elect to exchange a kiss with one another after they've been declared married.">
    									<input value="kiss" id="elements-kiss" checked="checked" type="checkbox">
    									Kiss
    								</span>
    							</label>
    
    							<label class="checkbox">
    								<span data-tooltip="At this time, the minister/officiant has the opportunity to present the newlyweds to the guests before they exit.">
    									<input value="presentation" id="elements-presentation" checked="checked" type="checkbox">
    									Presentation
    								</span>
    							</label>
    

  • Lifetime Qt Champion

    You can set a tooltip on widgets.

    If you'd like something different for the accessibly description there's a property for that too. By default it uses what you put in the tool tip.

    From your description it seems your application could make use of QFormLayout to put your "wedding editor" in shape.



  • For the "Baptism Ceremony Builder" part of my Ceremony script generator, how would I make a single-line edit box who's label changes depending on which radio button is selected. For example, if the "Infant" or "Child" radio button is selected, the edit box would be named "Child", and if either "Youth" or "Adult" is selected, the same edit box would be named "Participant". This is of course where the customer would put the name of the child/participant being presented in the baptism/christening/dedication/naming ceremony. Same thing goes for the boxes named "Parent 1" (or "Sponsor 1") and "Parent 2" (or "Sponsor 2"). Also, how would I automatically fill in gender appropriate nouns and pronouns in the finished text based on the gender selected (Male or Female)?


  • Lifetime Qt Champion

    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.



  • @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.

    I would appreciate if you could please be so kind as to give me an example of code as to what this will look like. Also, here's a bit of an example of Qt widget code I've put together. Please tell me if this looks right. If there's anything I need to change in my code, please let me know.

    QButtonGroup
    QRadioButton *button = new QRadioButton ("Bride", this);
    QRadioButton *button = new QRadioButton ("Groom", this);
    QLineEdit *lineEdit = new QLineEdit ("Spouse 1 Name", this);
    QButtonGroup
    QRadioButton *button = new QRadioButton ("Bride", this);
    QRadioButton *button = new QRadioButton ("Groom", this);
    QLineEdit *lineEdit = new QLineEdit ("Spouse 2 Name", this);
    QPushButton *button = new QPushButton ("Back", this);
    QPushButton *button = new QPushButton ("Next", this);
    

  • Lifetime Qt Champion

    Do you want to build something like a QWizard ?



  • @SGaist said in Qt Programming Language:

    Do you want to build something like a QWizard ?

    I guess you could say that. Then when customers come to the last step, the "Download" button would be like the "Finish" button of an Installation Program if you like. So when customers click the "Download" button, a finished document appears on their screen. Then there could be a "Print" button, and a "Save" button.


  • Lifetime Qt Champion

    There's something that is not exactly clear. Do you want to write an application that people install on there computer to generate these scripts ? Or should they go to some sort of web site ?



  • @SGaist said in Qt Programming Language:

    There's something that is not exactly clear. Do you want to write an application that people install on there computer to generate these scripts ? Or should they go to some sort of web site ?

    It's the former. I want to build an application that people install on their computer.


  • Lifetime Qt Champion

    Ok, then I'd recommend breaking your current design in logical pieces. For example, there's no need to double the number of widget to handle both spouse names. You can create one widget for that part and then have two instances of it in your "main widget".



  • @SGaist said in Qt Programming Language:

    Ok, then I'd recommend breaking your current design in logical pieces. For example, there's no need to double the number of widget to handle both spouse names. You can create one widget for that part and then have two instances of it in your "main widget".

    Two instances of the same widget? I'm confused! Could you please tell me exactly how I could do that? Here's a bit of code, I don't know if this is what you want me to try.

    QFormLayout *form = newQFormLayout:
    SetWindowTitle(tr("Step 2");
    resize(480, 320);
    }
    QButtonGroup *buttonGroup = new buttonGroup(tr("Spouse 1 Gender")
    QRadioButton *radio1 = new QRadioButton ("Bride", this);
    QRadioButton *radio2 = new QRadioButton ("Groom", this);
    radio1->setChecked(true)
    QLineEdit *Spouse1NameEdit = new QLineEdit (this);
    QLabel *NameLabel = new QLabel("Spouse 1 Name", this);
    NameLabel->setBuddy(Spouse1NameEdit);
    QButtonGroup *buttonGroup = new buttonGroup(tr("Spouse 2 Gender")
    QRadioButton *radio3 = new QRadioButton ("Bride", this);
    QRadioButton *radio4 = new QRadioButton ("Groom", this);
    radio4->setChecked(true)
    QLineEdit *Spouse2NameEdit = new QLineEdit (this);
    QLabel *NameLabel = new QLabel("Spouse 2 Name", this);
    NameLabel->setBuddy(Spouse2NameEdit);
    QPushButton *button = new QPushButton ("Back", this);
    QPushButton *button = new QPushButton ("Next", this);
    
    I also want to find out, how do I put the following text into the beginning of the window when the customer gets to this specific screen.
    
    "The Basics: To begin, enter the first names of the couple, the last name(s) they'll be using after their marriage, and the city/town, then select the state/province, and country in which the wedding will take place."
    

    Same goes for any of the other screens up to the "Finish" screen. The text of the "Finish" screen will say:

    "Congratulations! You just built a one-of-a-kind wedding ceremony. Click the "Download" button to read your wedding script in the wizard. Click the "Save" button to save your script in any text format on your computer. Click the "Print" button to send your script to your printer." The kind of ceremony changes, depending on what is selected in the "Welcome" screen. Either a "Wedding Ceremony", a "Baptism Ceremony", or a "Funeral Ceremony".

  • Lifetime Qt Champion

    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)
    
        QRadioButton *brideButton = new QRadioButton (tr("Bride"));
        brideButton->setProperty("gender", SpouseWidget::Bride);
        bride->setChecked(true);
        QRadioButton *groomButton = new QRadioButton (tr("Groom"));
        groomButton->setProperty("gender", SpouseWidget::Groom);
    
        genderButtonGroup->add(brideButton);
        genderButtonGroup->add(groomButton);
        QHBoxLayout *genderLayout = new QHBoxLayout;
        genderLayout->addWidget(brideButton);
        genderLayout->addWidget(groomButton);
    
        QFormLayout *layout = new QFormLayout(this);
        layout->addRow(tr("Name"), nameLineEdit);
        layout->addRow(tr("Gender"), genderLayout);
    }
    
    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.



  • I also want to find out, how do I put the following text into the beginning of the window when the customer gets to this specific screen.

    "The Basics: To begin, enter the first names of the couple, the last name(s) they'll be using after their marriage, and the city/town, then select the
    state/province, and country in which the wedding will take place."
    Same goes for any of the other screens up to the "Finish" screen. The text of the "Finish" screen will say:

    "Congratulations! You just built a one-of-a-kind wedding ceremony. Click the "Download" button to read your wedding script in the wizard. Click the "Save"
    button to save your script in any text format on your computer. Click the "Print" button to send your script to your printer." The kind of ceremony changes,
    depending on what is selected in the "Welcome" screen. Either a "Wedding Ceremony", a "Baptism Ceremony", or a "Funeral Ceremony".



  • @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)
    
        QRadioButton *brideButton = new QRadioButton (tr("Bride"));
        brideButton->setProperty("gender", SpouseWidget::Bride);
        bride->setChecked(true);
        QRadioButton *groomButton = new QRadioButton (tr("Groom"));
        groomButton->setProperty("gender", SpouseWidget::Groom);
    
        genderButtonGroup->add(brideButton);
        genderButtonGroup->add(groomButton);
        QHBoxLayout *genderLayout = new QHBoxLayout;
        genderLayout->addWidget(brideButton);
        genderLayout->addWidget(groomButton);
    
        QFormLayout *layout = new QFormLayout(this);
        layout->addRow(tr("Name"), nameLineEdit);
        layout->addRow(tr("Gender"), genderLayout);
    }
    
    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.

    After I compile all my widgets in Notepad++, how would I turn them into an executable program?


  • Lifetime Qt Champion

    You can use a QLabel to show the text and add it at the bottom of the QFormLayout without specifying a text.

    As for your question with Notepad++, maybe using this plugin ?



  • @SGaist said in Qt Programming Language:

    You can use a QLabel to show the text and add it at the bottom of the QFormLayout without specifying a text.

    As for your question with Notepad++, maybe using this plugin ?

    Could you please explain what you mean when you say, "You can use a QLabel to show the text and add it at the bottom of the QFormLayout without specifying a text."? I'm a bit confused on that one!



  • @SGaist said in Qt Programming Language:

    You can use a QLabel to show the text and add it at the bottom of the QFormLayout without specifying a text.

    As for your question with Notepad++, maybe using this plugin ?

    I tried installing that plugin, but when I launched Notepad++, a screen popped up with a message telling me that the plugin isn't compatible with the version of Notepad++ I have. Is that because I have a newer version of Notepad++? I'm confused on that one!


  • Lifetime Qt Champion

    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.



  • How would I be able to use QT Creator to make my project? Would I put the code I've already made in Notepad++ into a new project in Qt Creator? What would I do?



  • @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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.