Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how to create a sample HTML file using QFIle
Forum Updated to NodeBB v4.3 + New Features

how to create a sample HTML file using QFIle

Scheduled Pinned Locked Moved Solved General and Desktop
28 Posts 5 Posters 6.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Christian EhrlicherC Offline
    Christian EhrlicherC Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on last edited by Christian Ehrlicher
    #4

    @ManiRon said in how to create a sample HTML file using QFIle:

    I am unable to generate file

    In which way? This is not very precise...

    QTextDocument::toHtml

    And ahy do you delete your topics?

    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
    Visit the Qt Academy at https://academy.qt.io/catalog

    ManiRonM 3 Replies Last reply
    0
    • Christian EhrlicherC Christian Ehrlicher

      @ManiRon said in how to create a sample HTML file using QFIle:

      I am unable to generate file

      In which way? This is not very precise...

      QTextDocument::toHtml

      And ahy do you delete your topics?

      ManiRonM Offline
      ManiRonM Offline
      ManiRon
      wrote on last edited by
      #5

      @Christian-Ehrlicher sorry by mistake

      1 Reply Last reply
      0
      • Christian EhrlicherC Christian Ehrlicher

        @ManiRon said in how to create a sample HTML file using QFIle:

        I am unable to generate file

        In which way? This is not very precise...

        QTextDocument::toHtml

        And ahy do you delete your topics?

        ManiRonM Offline
        ManiRonM Offline
        ManiRon
        wrote on last edited by
        #6

        @Christian-Ehrlicher I tried the way you mentioned but it creates file but doesnt have the contents.

        1 Reply Last reply
        0
        • Christian EhrlicherC Christian Ehrlicher

          @ManiRon said in how to create a sample HTML file using QFIle:

          I am unable to generate file

          In which way? This is not very precise...

          QTextDocument::toHtml

          And ahy do you delete your topics?

          ManiRonM Offline
          ManiRonM Offline
          ManiRon
          wrote on last edited by ManiRon
          #7

          @Christian-Ehrlicher this is my code

                QTextDocument qData1(&qHtmlFile);
          qData1.setHtml(qRep);
                  qData1.toHtml();
          
          1 Reply Last reply
          0
          • Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #8

            How should the code above create a file when there is no QFile involved at all? Please be a little bit more careful and think by yourself before posting some useless stuff.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            ManiRonM 1 Reply Last reply
            1
            • Christian EhrlicherC Christian Ehrlicher

              How should the code above create a file when there is no QFile involved at all? Please be a little bit more careful and think by yourself before posting some useless stuff.

              ManiRonM Offline
              ManiRonM Offline
              ManiRon
              wrote on last edited by ManiRon
              #9

              @Christian-Ehrlicher
              I thought you would understand as i have mentioned the QFile in my first post itself so i thought its fine to just give the main part , is it fine now ?

              QFile qHtmlFile("FilePath");
              QTextDocument qData1(&qHtmlFile);
              qData1.setHtml(qRep);
              qData1.toHtml();

              1 Reply Last reply
              0
              • Christian EhrlicherC Offline
                Christian EhrlicherC Offline
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on last edited by
                #10

                Please read the docs - I gave you the links so you even don't have to search. This can't work at all...

                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                Visit the Qt Academy at https://academy.qt.io/catalog

                ManiRonM 2 Replies Last reply
                2
                • Christian EhrlicherC Christian Ehrlicher

                  Please read the docs - I gave you the links so you even don't have to search. This can't work at all...

                  ManiRonM Offline
                  ManiRonM Offline
                  ManiRon
                  wrote on last edited by ManiRon
                  #11

                  @Christian-Ehrlicher ok sir, then how this can be done, I mean generating an html file.

                  1 Reply Last reply
                  0
                  • Christian EhrlicherC Christian Ehrlicher

                    Please read the docs - I gave you the links so you even don't have to search. This can't work at all...

                    ManiRonM Offline
                    ManiRonM Offline
                    ManiRon
                    wrote on last edited by
                    #12

                    @Christian-Ehrlicher any other idea if possible

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #13

                      Hi,

                      Use of QFile:

                      • Create QFile variable
                      • Call open
                      • Check that open was successful
                      • Call write
                      • Close file

                      Done

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      ManiRonM 1 Reply Last reply
                      4
                      • SGaistS SGaist

                        Hi,

                        Use of QFile:

                        • Create QFile variable
                        • Call open
                        • Check that open was successful
                        • Call write
                        • Close file

                        Done

                        ManiRonM Offline
                        ManiRonM Offline
                        ManiRon
                        wrote on last edited by ManiRon
                        #14

                        @SGaist yes i tried it, I create a table using HTML . If i do as mentioned by you the table doesnt has the column seperator line .0_1552296582698_Untitled.jpg

                        jsulmJ 1 Reply Last reply
                        0
                        • ManiRonM ManiRon

                          @SGaist yes i tried it, I create a table using HTML . If i do as mentioned by you the table doesnt has the column seperator line .0_1552296582698_Untitled.jpg

                          jsulmJ Offline
                          jsulmJ Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #15

                          @ManiRon Can you please show the code you're using now? And the content of the file you're generating (the text, not pictures)?

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          ManiRonM 1 Reply Last reply
                          0
                          • jsulmJ jsulm

                            @ManiRon Can you please show the code you're using now? And the content of the file you're generating (the text, not pictures)?

                            ManiRonM Offline
                            ManiRonM Offline
                            ManiRon
                            wrote on last edited by
                            #16

                            @jsulm

                            this whole code will be stored in a QString and this i am printing

                            <article><div align="right"></div><header><h1><center><font color="midnightblue"></font></center></h1><h2><font color="dimgray"></font></h2></header></article><table border="1" style="background-color:ghostwhite;border:1px dotted black;width:80%;border-collapse:collapse;"><tr style="background-color:gainsboro;color:black;"></table><style type="text/css">table.tbl {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}table.tbl td {padding: 3px;}table.tbl th {padding: 3px;font-size: 18px;}</style><table width="100%" cellspacing="0" class="tbl" style="border:1px solid black;border-collapse:collapse;" align = center ><tr><th><b><center><span style =font-size:10pt;>Application</span></center></b></th><th><b><center><span style =font-size:10pt;>Check Sum</span></center></b></th><th><b><center><span style =font-size:10pt;>Total</span></center></b></th><th><b><center><span style =font-size:10pt;>No</span></center></b></th><th><b><center><span style =font-size:10pt;>Tested By</span></center></b></th><th><b><center><span style =font-size:10pt;></span></center></b></th><th><b><center><span style =font-size:10pt;></span></center></b></th></tr><tr><td><center><span style =font-size:10pt;>1.00</span></center></td><td><center><span style =font-size:10pt;>123</span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td></tr></table><br><br><br><style type="text/css">table.tbl1 {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}table.tbl1 td {padding: 3px;}table.tbl1 th {padding: 3px;font-size: 18px;}</style><table width="100%" cellspacing="0" class="tbl1"><tr><th>Name</th><th>Data</th><th>data</th><th>Test Result</th></tr><tr><td><b><span style =font-size:10pt;>sss</span></b></td><td>Data1</td><td>Data2</td><td><b><span style =font-size:10pt;><font color=Green>PASS</font></span></b></td></tr></table><br><br><br><br><hr><br><br>

                            jsulmJ 1 Reply Last reply
                            0
                            • ManiRonM ManiRon

                              @jsulm

                              this whole code will be stored in a QString and this i am printing

                              <article><div align="right"></div><header><h1><center><font color="midnightblue"></font></center></h1><h2><font color="dimgray"></font></h2></header></article><table border="1" style="background-color:ghostwhite;border:1px dotted black;width:80%;border-collapse:collapse;"><tr style="background-color:gainsboro;color:black;"></table><style type="text/css">table.tbl {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}table.tbl td {padding: 3px;}table.tbl th {padding: 3px;font-size: 18px;}</style><table width="100%" cellspacing="0" class="tbl" style="border:1px solid black;border-collapse:collapse;" align = center ><tr><th><b><center><span style =font-size:10pt;>Application</span></center></b></th><th><b><center><span style =font-size:10pt;>Check Sum</span></center></b></th><th><b><center><span style =font-size:10pt;>Total</span></center></b></th><th><b><center><span style =font-size:10pt;>No</span></center></b></th><th><b><center><span style =font-size:10pt;>Tested By</span></center></b></th><th><b><center><span style =font-size:10pt;></span></center></b></th><th><b><center><span style =font-size:10pt;></span></center></b></th></tr><tr><td><center><span style =font-size:10pt;>1.00</span></center></td><td><center><span style =font-size:10pt;>123</span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td><td><center><span style =font-size:10pt;></span></center></td></tr></table><br><br><br><style type="text/css">table.tbl1 {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}table.tbl1 td {padding: 3px;}table.tbl1 th {padding: 3px;font-size: 18px;}</style><table width="100%" cellspacing="0" class="tbl1"><tr><th>Name</th><th>Data</th><th>data</th><th>Test Result</th></tr><tr><td><b><span style =font-size:10pt;>sss</span></b></td><td>Data1</td><td>Data2</td><td><b><span style =font-size:10pt;><font color=Green>PASS</font></span></b></td></tr></table><br><br><br><br><hr><br><br>

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by jsulm
                              #17

                              @ManiRon This is not valid HTML.
                              And by "code" I mean your C++ code to generate the HTML file...

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              ManiRonM 2 Replies Last reply
                              0
                              • jsulmJ jsulm

                                @ManiRon This is not valid HTML.
                                And by "code" I mean your C++ code to generate the HTML file...

                                ManiRonM Offline
                                ManiRonM Offline
                                ManiRon
                                wrote on last edited by ManiRon
                                #18

                                @jsulm

                                QString qHostVer = "<b><center><span style =font-size:10pt;>Application</span></center></b>";

                                QString qCheckSum = "<b><center><span style =font-size:10pt;>123</span></center></b>";

                                QString qTotal= "<b><center><span style =font-size:10pt;>Total</span></center></b>";

                                QString qNo= "<b><center><span style =font-size:10pt;>No</span></center></b>";

                                QString qTestedBy = "<b><center><span style =font-size:10pt;>Tested By</span></center></b>";

                                         css1 = "<style type=\"text/css\">";
                                         css1 += "table.tbl {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}";
                                         css1 += "table.tbl td {padding: 3px;}";
                                         css1 += "table.tbl th {padding: 3px;font-size: 18px;}";
                                         css1+="</style>";
                                         text1 += "<table width=\"100%\" cellspacing=\"0\" class=\"tbl\" style=\"border:1px solid black;border-collapse:collapse;\" align = center >";
                                         text1 +=("<tr><th>"+qHostVer+"</th><th>"+qCheckSum+"</th><th>"+qTargetCheckSum+"</th>"\
                                                  "<th>"+qfont+"</th><th>"+qTestedBy+"</th></tr>");
                                        QString  text1 +=("<tr><td><center><span style =font-size:10pt;>" + 1.00 +"</span></center></td>"\
                                                  "<td><center><span style =font-size:10pt;>" + 123 +"</span></center></td>"\
                                                  "<td><center><span style =font-size:10pt;>" +  +"</span></center></td>"\
                                                  "<td><center><span style =font-size:10pt;>" + o +"</span></center></td>"\
                                                  "<td><center><span style =font-size:10pt;>"+ +"</span></center></td>");
                                

                                qRep = css+text;

                                QFile qHtmlFile(file path);
                                qHtmlFile.write(qRep);
                                qHtmlFile.close();

                                jsulmJ 1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @ManiRon This is not valid HTML.
                                  And by "code" I mean your C++ code to generate the HTML file...

                                  ManiRonM Offline
                                  ManiRonM Offline
                                  ManiRon
                                  wrote on last edited by
                                  #19

                                  @jsulm this code works fine when i use QTextbrowser, But i dont want to use QTextBrowser as it cannot be used inside a QThread

                                  1 Reply Last reply
                                  0
                                  • ManiRonM ManiRon

                                    @jsulm

                                    QString qHostVer = "<b><center><span style =font-size:10pt;>Application</span></center></b>";

                                    QString qCheckSum = "<b><center><span style =font-size:10pt;>123</span></center></b>";

                                    QString qTotal= "<b><center><span style =font-size:10pt;>Total</span></center></b>";

                                    QString qNo= "<b><center><span style =font-size:10pt;>No</span></center></b>";

                                    QString qTestedBy = "<b><center><span style =font-size:10pt;>Tested By</span></center></b>";

                                             css1 = "<style type=\"text/css\">";
                                             css1 += "table.tbl {border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;}";
                                             css1 += "table.tbl td {padding: 3px;}";
                                             css1 += "table.tbl th {padding: 3px;font-size: 18px;}";
                                             css1+="</style>";
                                             text1 += "<table width=\"100%\" cellspacing=\"0\" class=\"tbl\" style=\"border:1px solid black;border-collapse:collapse;\" align = center >";
                                             text1 +=("<tr><th>"+qHostVer+"</th><th>"+qCheckSum+"</th><th>"+qTargetCheckSum+"</th>"\
                                                      "<th>"+qfont+"</th><th>"+qTestedBy+"</th></tr>");
                                            QString  text1 +=("<tr><td><center><span style =font-size:10pt;>" + 1.00 +"</span></center></td>"\
                                                      "<td><center><span style =font-size:10pt;>" + 123 +"</span></center></td>"\
                                                      "<td><center><span style =font-size:10pt;>" +  +"</span></center></td>"\
                                                      "<td><center><span style =font-size:10pt;>" + o +"</span></center></td>"\
                                                      "<td><center><span style =font-size:10pt;>"+ +"</span></center></td>");
                                    

                                    qRep = css+text;

                                    QFile qHtmlFile(file path);
                                    qHtmlFile.write(qRep);
                                    qHtmlFile.close();

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #20

                                    @ManiRon You're not generating valid HTML

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    ManiRonM 1 Reply Last reply
                                    0
                                    • jsulmJ jsulm

                                      @ManiRon You're not generating valid HTML

                                      ManiRonM Offline
                                      ManiRonM Offline
                                      ManiRon
                                      wrote on last edited by
                                      #21

                                      @jsulm so what change i should make

                                      jsulmJ 1 Reply Last reply
                                      0
                                      • ManiRonM ManiRon

                                        @jsulm so what change i should make

                                        jsulmJ Offline
                                        jsulmJ Offline
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #22

                                        @ManiRon This is how a HTML document should look like:

                                        <html>
                                          <head>
                                           HEADER IF NEEDED 
                                          </head>
                                          <body>
                                            YOUR CONTENT HERE
                                          </body>
                                        </html>
                                        

                                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        ManiRonM 1 Reply Last reply
                                        1
                                        • VRoninV Offline
                                          VRoninV Offline
                                          VRonin
                                          wrote on last edited by
                                          #23

                                          Since you are hard coding stuff anyway, you can use QXmlStreamWriter directly on the QFile device to generate html:

                                          QFile qHtmlFile("myFile.html");
                                          if(qHtmlFile.open(QIODevice::WriteOnly){
                                          QTextStream startDocStream(&qHtmlFile);
                                          startDocStream << QStringLiteral("<!DOCTYPE html>");
                                          QXmlStreamWriter htmlWriter(&qHtmlFile);
                                          htmlWriter.writeStartElement(QStringLiteral("html"));
                                          htmlWriter.writeAttribute(QStringLiteral("xmlns"),QStringLiteral("http://www.w3.org/1999/xhtml"));
                                          htmlWriter.writeAttribute(QStringLiteral("lang"),QStringLiteral("en"));
                                          htmlWriter.writeAttribute(QStringLiteral("xml"),QStringLiteral("lang"),QStringLiteral("en"));
                                          htmlWriter.writeStartElement(QStringLiteral("head"));
                                          htmlWriter.writeStartElement(QStringLiteral("meta"));
                                          htmlWriter.writeAttribute(QStringLiteral("http-equiv"),QStringLiteral("Content-Type"));
                                          htmlWriter.writeAttribute(QStringLiteral("content"),QStringLiteral("text/html; charset=utf-8"));
                                          htmlWriter.writeEndElement(); //meta
                                          htmlWriter.writeStartElement(QStringLiteral("title"));
                                          htmlWriter.writeCharacters(QStringLiteral("Test Page"));
                                          htmlWriter.writeEndElement(); //title
                                          htmlWriter.writeStartElement(QStringLiteral("style"));
                                          htmlWriter.writeCharacters(QStringLiteral("h1, h2, h3, h4 { color: rgb(83,129,53) } h1 { text-align: center; }"));
                                          htmlWriter.writeEndElement(); //style
                                          htmlWriter.writeEndElement(); //head
                                          htmlWriter.writeStartElement(QStringLiteral("body"));
                                          htmlWriter.writeStartElement(QStringLiteral("h1"));
                                          htmlWriter.writeCharacters(QStringLiteral("Test Page"));
                                          htmlWriter.writeEndElement(); //h1
                                          htmlWriter.writeStartElement(QStringLiteral("h2"));
                                          htmlWriter.writeCharacters(QStringLiteral("Lorem"));
                                          htmlWriter.writeEndElement(); //h2
                                          htmlWriter.writeStartElement(QStringLiteral("p"));
                                          htmlWriter.writeCharacters(QStringLiteral("Lorem ipsum dolor sit amet, consectetur adipiscing elit."));
                                          htmlWriter.writeEndElement(); //p
                                          htmlWriter.writeEndElement(); //body
                                          htmlWriter.writeEndElement(); //html
                                          }
                                          

                                          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                          ~Napoleon Bonaparte

                                          On a crusade to banish setIndexWidget() from the holy land of Qt

                                          ManiRonM 2 Replies Last reply
                                          5

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved