Intruder
Intruder30. Januar 2020 13:03

Формирование HTML-страницы

Всем доброго времени суток.

Возник собственно такой вопрос. Какой инструментарий использовать для того, чтобы программно формироать html-страницу? Предположим, есть программный объект, который нужно перевести в html? Как это сделать более правильно?

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

14
Evgenii Legotckoi
  • 30. Januar 2020 13:11

Добрый день.

Есть такая сторонняя библиотека QtWebApp , она использует Qt, там есть шаблонизатор для html. Думаю, что она вам подойдёт в качестве инструментария. А в этой статье один из пользователей уже использовал эту библиотеку. Там есть и проект в статье. Можете глянуть там.

Что касается алгоритма, то нужно будет подготовить все данные и объекты, которые можно будет впихнуть в тот шаблонизатор.

Вам нужно вывести информацию в красивом текстовом обрамлении?

    Intruder
    • 30. Januar 2020 13:17

    Евгений, добрый вечер.
    Для начала хотелось бы получить простой отчет, что-то вроде табличного представления Word-а.

      Ruslan Polupan
      • 30. Januar 2020 13:48

      Доброго времени суток!
      Если уж таблица то почему сразу не в Ексель? Есть отлтчная библиотека. я ейю поигрался теперь формирование отчетов не проблема.

      Использовал например https://evileg.com/ru/post/535/ .

        Intruder
        • 30. Januar 2020 14:21

        Руслан, доброго времени суток.

        Данные готовяться для дальнейшего просмотра в интернете, а не локально.

          Evgenii Legotckoi
          • 30. Januar 2020 15:15

          Интересно. А не лучше ли сохранять данные в базе данных, а потом забирать данные из БД и уже средствами сайта шаблонизировать данные как угодно?

            Ruslan Polupan
            • 31. Januar 2020 01:01

            Данные в базу. Из базы строим модели, а с ними уже хоть в инет хоть в офис

              Intruder
              • 1. Februar 2020 10:12

              Тут не так все просто. Данные хранятся в XML-формате.

                Intruder
                • 1. Februar 2020 10:14

                Базу данных использовать нельзя, так скажем.

                  Ruslan Polupan
                  • 1. Februar 2020 12:01

                  Ну тогда парсить XML и формировать html документ. Все одно без вебсервера не получится.

                    Intruder
                    • 1. Februar 2020 13:17

                    Вот у меня и вопрос в этом. Что лучше всего использовать из штатных средств Qt?

                      Ruslan Polupan
                      • 1. Februar 2020 13:41

                      Имхо штатных нет. Только библиотеки. Ведь вы вы будете оттадвать информацию по http, а значит нужен WEB сервер.

                        Intruder
                        • 1. Februar 2020 14:33

                        Сейчас стоит задача как более правильно сформировать html документ штатными средствами. И, если я правильно понял Евгения либо и спользовать стороние инструменты или писать самому. Вот я и хочу понять в какую сторону двигаться, на что смотреть, если нет возможности привлечения стороннего инстурментария.

                          Intruder
                          • 1. Februar 2020 14:35

                          Задача пока стоит в формировании html документа. Про сервер будем думать после.

                            Evgenii Legotckoi
                            • 3. Februar 2020 03:14
                            • Die Antwort wurde als Lösung markiert.

                            Если чисто средствами Qt, то

                            • QFile и QTextStream
                            • QXmlStreamWriter
                            • QDomDocument

                            QFile и QTextStream

                             QFile file("path/fo/filename.xml");
                            
                            if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
                            {
                                return;
                            }
                            
                            QTextStream outputStream(&file);
                            outputStream.setCodec("UTF-8");
                            outputStream << "\
                            <html>\n\
                            <body>" << variable_1 << "\n\"
                            << variable_2 <<
                            "</body>\n\
                            </html>\n\
                            ";
                            
                            file.close();
                            

                            По остальным двум вариантам есть пример испльзоания на сайте, а также в официальной документации.

                            HTML и XML - это по сути одно и тоже, так что средств Qt должно быть достаточно

                              Kommentare

                              Nur autorisierte Benutzer können Kommentare posten.
                              Bitte Anmelden oder Registrieren
                              Letzte Kommentare
                              A
                              ALO1ZE19. Oktober 2024 18:19
                              Fb3-Dateileser auf Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                              ИМ
                              Игорь Максимов5. Oktober 2024 17:51
                              Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                              d
                              dblas55. Juli 2024 21:02
                              QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                              k
                              kmssr9. Februar 2024 05:43
                              Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                              Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                              Jetzt im Forum diskutieren
                              J
                              JacobFib17. Oktober 2024 13:27
                              добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
                              JW
                              Jhon Wick2. Oktober 2024 01:52
                              Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
                              КГ
                              Кирилл Гусарев27. September 2024 19:09
                              Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
                              F
                              Fynjy22. Juli 2024 14:15
                              при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                              Folgen Sie uns in sozialen Netzwerken