Russian Qt Forum
Ноябрь 25, 2024, 01:20
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
Рисование математической формулы
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Рисование математической формулы (Прочитано 25221 раз)
merke
Гость
Рисование математической формулы
«
:
Декабрь 12, 2009, 14:36 »
Всем привет!
Писал синтаксический калькулятор, написал, теперь нужно чтобы введённая формула выводилась в нормальном графическом виде.
Т.е. ввожу sqrt(x) а прога рисует знак коря и под ним x.
Програмлю на qt, но с графикой ни когда не работал.
Пожалуйста, подскажите в какую сторону рыть. Или может кто подскажет где найти такие исходники.
Буду очень благодарен!
С уважением, Александр!
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Рисование математической формулы
«
Ответ #1 :
Декабрь 12, 2009, 14:42 »
Цитата: merke от Декабрь 12, 2009, 14:36
Писал синтаксический калькулятор, написал, теперь нужно чтобы введённая формула выводилась в нормальном графическом виде.
Т.е. ввожу sqrt(x) а прога рисует знак коря и под ним x.
Програмлю на qt, но с графикой ни когда не работал.
Пожалуйста, подскажите в какую сторону рыть. Или может кто подскажет где найти такие исходники.
Обычно это решается шрифтом в котором есть знак корня, знак числа пи и.т.п. (т.е Вам не нужно рисовать знаки графикой)
Записан
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Рисование математической формулы
«
Ответ #2 :
Декабрь 12, 2009, 14:56 »
Цитировать
Обычно это решается шрифтом в котором есть знак корня, знак числа пи и.т.п. (т.е Вам не нужно рисовать знаки графикой)
Обычно всё проще
Можно воспользоваться html для этого дела.. Да, это конечно не LaTeX, но если формулы достаточно плюшевые, то вполне можно юзать
К примеру:
Код
HTML
2
√
<
i
>
x
<
/
i
>
sin
<
i
>
(
ω
x)
<
/
t>
попробуйте вставить это, ну скажем так, в QLabel и у вас получится примерно следующее: (см скриншот)
«
Последнее редактирование: Декабрь 12, 2009, 15:00 от shapoclak
»
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Рисование математической формулы
«
Ответ #3 :
Декабрь 12, 2009, 15:03 »
Да, кстати, вот ссылка на различные символы:
http://physics-animations.com/symbol.html
Бог в помощь
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Рисование математической формулы
«
Ответ #4 :
Декабрь 12, 2009, 15:08 »
вроде на Qt-Apps была примочка для рисования формул, на основе Теха
Записан
Юра.
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Рисование математической формулы
«
Ответ #5 :
Декабрь 12, 2009, 15:17 »
Цитировать
вроде на Qt-Apps была примочка для рисования формул, на основе Теха
Серьёзно? Надо будет глянуть, а то была у меня как-то мысля написать подобный класс, но потом как то забылось..
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Рисование математической формулы
«
Ответ #6 :
Декабрь 12, 2009, 15:18 »
Цитата: shapoclak от Декабрь 12, 2009, 14:56
Обычно всё проще
Можно воспользоваться html для этого дела.. Да, это конечно не LaTeX, но если формулы достаточно плюшевые, то вполне можно юзать
Не знал что так можно, а мне это тоже может пригодиться. Спасибо за инфу
Записан
merke
Гость
Re: Рисование математической формулы
«
Ответ #7 :
Декабрь 12, 2009, 17:53 »
Большое спасибо, помогли!!!
Записан
AleUri
Гость
Re: Рисование математической формулы
«
Ответ #8 :
Декабрь 12, 2009, 18:59 »
The QtMmlWidget component renders mathematical formulas written in MathML 2.0.
http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Widgets/qtmmlwidget
Open Source Edition (LGPL)
«
Последнее редактирование: Декабрь 12, 2009, 20:18 от AleUri
»
Записан
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Рисование математической формулы
«
Ответ #9 :
Декабрь 12, 2009, 19:34 »
Цитировать
The QtMmlWidget component renders mathematical formulas written in MathML 2.0.
Не, надо свой класс писать
Это далеко от идеала того чего хотелось бы получить.. Хотя надо раскуривать исходники...
Да. реально нужно написать что нить вроде мастайпа или того, что использует опенофис...
Но вот со временем как то напряжно
В идеале хотелось бы иметь следующее:
Имеется класс, который имеет метод:
1. void setText(const QString &text); сюда впихиваем стоку в формате LaTeX
2. должен быть метод или сигнал который который говорит валидна ли строка
3. должен быть метод setPixmap(const QPixmap *pixmap) который возвращает пиксмап с нарисованной формулой
4. Размер шрифта и возможно различные пропорции между символами в формуле (как в мастайпе)
Ну эт пока всё что на ум приходит... Если интересно можно заняться этим делом
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Рисование математической формулы
«
Ответ #10 :
Декабрь 12, 2009, 20:36 »
Хотя, нет, вру... Сорри
Привожу скриншоты как выглядит аналогичные формулы в опенофисе, латехе и MML Widget:
1. MML Widget
2. OpenOffice
3. LaTeX
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
amateur.cpp
Гость
Re: Рисование математической формулы
«
Ответ #11 :
Август 31, 2013, 17:28 »
Поднимем темку потому что у меня возникли вопросы, а по поиску нашел только эту. Так как сейчас обстоят дела с отображением математических формул в Qt 5.0? Есть что-нибудь надежненькое и готовенькое? Спасибо!
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Рисование математической формулы
«
Ответ #12 :
Август 31, 2013, 18:46 »
вряд ли такой класс кто-то будет добавлять в дистрибутив
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
amateur.cpp
Гость
Re: Рисование математической формулы
«
Ответ #13 :
Август 31, 2013, 19:13 »
Цитата: kambala от Август 31, 2013, 18:46
вряд ли такой класс кто-то будет добавлять в дистрибутив
А что-то из библиотек добрых саморитян?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Рисование математической формулы
«
Ответ #14 :
Август 31, 2013, 20:05 »
вроде лучшими вариантами являются использование вышеуказанного виджета либо вебкит с библиотекой рендеринга (mathjax например)
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...