Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
ЧГ
15 марта 2019 г. 4:44

Как открыть презентацию на C++?

Qt, C++, WinAPI

Добрый день, возник вопрос: можно ли как нибудь прочитать ppt, PPTX файл на Qt? Задача: просто открыть презентацию, ее слайды отрисовать на виджет, с сохранениями гифок и того что там будет. Может быть у PowerPoint какой-то API в наличии , который позволяет так сделать? Либо может быть через ActiveX как нибудь? Буду благодарен за помощь!

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
4

не совсем из разряда решения на кьюте, но вариант, по которому пошёл бы я. Воспользоваться онлайн конвертером pptx в pdf и отображать уже pdf (с ним явно проблем меньше + нет зависимости от наличия и версии powerpoint на компьютере клиента + кросс-платформенность)

0
ЧГ

ну в принципе наличия требуемого PowerPoint на целевой машине будет обеспечено. в предложенном варианте пропадет анимация с гифок, поэтому как нибудь хотелось бы использовать powerpoint, и с него отображать у себя. я тоже уже так подумал но мне кажется что он не очень подойдет, но за идею спасибо

0

Можно ещё попытаться использовать Qt ActiveX

А также QAxWidget .

На некоторых форумах даже вот такие примеры использования есть

QString nPath;
nPath = QFileDialog::getOpenFileName(this,"select PPT files",qApp->applicationDirPath(),"*.ppt *.pptx");

QAxWidget *m_pAxWidget = new QAxWidget(this);
if(!m_pAxWidget->setControl("PowerPoint.Application"))
{
QMessageBox::critical(this, trUtf8("Error PPT"), "Install Microsoft Power Point (R) for support PPT!");
}
ui->gridLayout->addWidget(m_pAxWidget);
m_pAxWidget->setControl(nPath );

Главное расскажите потом, получилось у вас что-нибудь или нет. ActiveX в Qt такая скользкая тема. Вроде часто вопросом задаются, а информации с гулькин нос в интернете.

1
ЧГ

спасибо, попробую, отпишусь

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
IT
25 марта 2019 г. 17:32
Ilya The Engineer

Qt - Тест 001. Сигналы и слоты

  • Результат:5баллов,
  • Очки рейтинга-10
G
25 марта 2019 г. 8:34
GAG

C++ - Тест 002. Константы

  • Результат:41баллов,
  • Очки рейтинга-8
G
25 марта 2019 г. 8:25
GAG

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
Последние комментарии
26 марта 2019 г. 8:49
Евгений Легоцкой

Да Да Да. Я тоже сейчас вспомнил, что проблема -R в том, что права и для файлов и для каталогов устанавливаются. А для веб-серверов нужно, чтобы права на каталоги были 755, а на файлы 64...
26 марта 2019 г. 8:47
Ruslan Polupan

Был не прав....Почитал маны, флаг «выполнения» по-разному действует на файлы и каталоги.Правильно так chmod -R go=rX,u=rwX /path/to/target/dir
26 марта 2019 г. 8:35
Евгений Легоцкой

По моему, только эта директория /path/to/target/dir и получит эти права, а все остальные вложенные остануться с тем, с чем были. UPD: Или я что-то жёстко путаю? ))) Надо переп...
22 марта 2019 г. 12:32
Евгений Легоцкой

Ну может бибилотеки не те положили? У вас сборка для MinGW, а либы для MSVC.
Сейчас обсуждают на форуме
26 марта 2019 г. 12:07
Евгений Легоцкой

Пожалуйста, не загружайте сейчас никакие изображения, это сейчас не работает. Вечером исправлю, остались ошибки на сервере после его переезда.
U
25 марта 2019 г. 12:43
Unreal_man

Как сделать чтоб при клике на ячейку(ос андроид) ее сразу можно было редактировать?QGuiApplication::inputMethod()->show(); показывает клавиатуру, а вот что до этого прописать чтоб текст в ...
m
24 марта 2019 г. 10:36
monevich

Отвечу на свой же вопрос, может кому то это пригодится. Да, можно в функции main использовать такую конструкцию. При запуске программы из Qt передаю свой аргумент в параметрах командной строк...
22 марта 2019 г. 12:29
Дмитрий

Да, мьютекс добавил, но в том потоке, где сигнал вызывается.
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы