Russian Qt Forum
Ноябрь 25, 2024, 08:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Открытие pdf файла в WebEngineView  (Прочитано 3682 раз)
SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« : Май 22, 2023, 16:21 »

Всем првиет.
Имеется финкционал для открытия обычных интернет страниц.
Но теперь надо и открытие нужных файлов реализовать, чтоыб в строке поиска был путь к файлу.
Плюс вопрос, функционал дял рабоыт с файлом типа "поиска, переворот страницы, кропки +/- и т.д." это как то реализовывается?
Если важно то на данный момент использую версию 6.4.2

Буду признателен за какую то информацию или может есть какие то примеры.
Спасибо.
« Последнее редактирование: Май 22, 2023, 16:24 от SektorCT » Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #1 : Май 22, 2023, 23:39 »

Кто на ком должен стоять? Потрудитесь излагать свои мысли яснее. И, лучше без очепяток.  Смеющийся
Записан

SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #2 : Май 23, 2023, 09:52 »

Кто на ком должен стоять? Потрудитесь излагать свои мысли яснее. И, лучше без очепяток.  Смеющийся

Embeddedd устройство, на нем приложение со встроенным браузером. Открывает только веб страницы.
Нужно добавить функционал открытия файлов (pdf, txt, docx), при открытии в строке поиска отображается путь к самому файлу.
Ну а выше я описал функционал который хотелось бы использовать при работе с открытым документом.
Записан
SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #3 : Май 23, 2023, 17:04 »

Ошибочка вышла, нужно элемент или какой то модуль в котормо можно настроить отображение pdf файла. То есть в не браузера.
Как оказалось в браузере все достаточно просто.
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #4 : Май 23, 2023, 20:35 »

https://doc.qt.io/qt-5/qtpdf-pdfviewer-pageselector-cpp.html
Подойдёт? И для Qt6 есть
С docx будет явно сложнее и только для винды, скорее всего. Хотя всякие ActiveX к Qt вполне прикручиваются.
« Последнее редактирование: Май 23, 2023, 20:37 от tux » Записан

SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #5 : Май 24, 2023, 18:14 »

https://doc.qt.io/qt-5/qtpdf-pdfviewer-pageselector-cpp.html
Подойдёт? И для Qt6 есть
С docx будет явно сложнее и только для винды, скорее всего. Хотя всякие ActiveX к Qt вполне прикручиваются.

Как вижу он для виджетов, для QML нету.
Я нашел другеи обертки для pdf https://doc.qt.io/qt-6.4/qtquick-pdf-qmlmodule.html

Вопрос такой немного не по теме, мне надо по кнопке с ToolBar выбрать файл, это или pdf или txt и уже тем или иным способом открывать файл и его отображать. Вопрос, как лучше это сделать? Мне надо будет в тот qml файл что отвечает за обработку каждого формата передавать как минимум путь к файлу. Через Loader это невозможно, хотя и удобный вариант выбора какой файл нужно грузануть. Посоветуйте пожалуйста.
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #6 : Май 25, 2023, 00:51 »

Опять не совсем понятно, что именно вы хотите сделать? Различить типы файлов можно просто по расширению (не совсем надёжно, но так вроде принято в винде).
А насчёт пути: можно, например, сначала сменить текущий каталог на нужный, а потом уже открыть файл, как локальный. Не совсем красиво, но, можно попробовать.
Записан

SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #7 : Май 25, 2023, 15:58 »

Опять не совсем понятно, что именно вы хотите сделать? Различить типы файлов можно просто по расширению (не совсем надёжно, но так вроде принято в винде).
А насчёт пути: можно, например, сначала сменить текущий каталог на нужный, а потом уже открыть файл, как локальный. Не совсем красиво, но, можно попробовать.

Вот смотрите:
Код:
    function object()
    {
        if (fileDialog.selectedNameFilter.index === 0)
        {
            console.log("PDF")
            return "ReadPdf.qml"
        }
        else if(fileDialog.selectedNameFilter.index === 1)
        {
            console.log("TXT")
            return "ReadTxt.qml"
        }
    }
    Loader
    {
       id: myLoader
       anchors.fill: parent

       Component.onCompleted: {
           squareLoader.setSource(url,
                { "color": "blue" }
            );
       }
    }



    FileDialog
    {
        id: fileDialog
        title: "Open file"
        nameFilters: [ "PDF file (*.pdf)" , "TXT file (*.txt)" ]
        onAccepted:
        {
            //     selectedFile
        }
    }

Вот из FileDialog надо передать свойство selectedFile, а передать нужно в том случаи если был выбран pdf файл. Loader имеет свойство setSource и принимает 2 аргумента, url к файлу и тот самый набор пропертей что мне и надо.
Вопрос в том как создать этот набор пропертей для каждого из отдельных типов файлов. В моем случаи пока pdf
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.134 секунд. Запросов: 23.