Перейти к содержанию
    

2 minutes ago, dxp said:

Да, С/C++ код компилируется в динамическую библиотеку (dll на венде, so на линухе, мы оба варианта делали), которая потом подключается в питоновый код через import, и дальше как обычно. Работает очень эффективно.

спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, dxp said:

+ за Qt. PyQt - это биндинг Python к Qt, GUI на нём работает отлично, ничего не тормозит. Имеем личный опыт создания нагруженных приложений

Думаю Python к GUI тут за уши притянут. 
Опыт применения чего либо в больших конторах, где десятки  скрытых мотивов выбора того или иного инструмента ничем не может помочь индивидуальным разработчикам.

Вот реальный простой инструмент создания GUI - https://www.embedded-wizard.de/demo.html
Никаких питонов, скриптов и других сторонних языков. Даже С++ не нужен. 
За бесплатно можно получить пакет для Raspberry Pi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 10.12.2018 в 14:47, jenya7 сказал:

Ну скажем если я на внешние пины повешу UART, SPI? Или если сделать TCP сервер?

Qt (для всяких тачскринов QML). пины вешай. Из с++ доступ через библиотеку wiringPi (SPI, I2C, GPIO....).

в Qt есть QTcpServer, тсп/юдп сокеты и т.п...... захотите вебморду поднять - есть webSocked-ы,

можно boost-ом поднять сервер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/14/2018 at 1:02 PM, x893 said:

Visual Studio 2017

а как портировать на Распбери?

On 12/14/2018 at 10:49 AM, juvf said:

Qt (для всяких тачскринов QML). пины вешай. Из с++ доступ через библиотеку wiringPi (SPI, I2C, GPIO....).

в Qt есть QTcpServer, тсп/юдп сокеты и т.п...... захотите вебморду поднять - есть webSocked-ы,

можно boost-ом поднять сервер.

 в Qt нет визуальных компонентов. или я ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, jenya7 сказал:

 в Qt нет визуальных компонентов. или я ошибаюсь?

Есть, QtGui. Qt - это прежде всего кроссплатформенный GUI, а потом всё остальное.  IMHO

На Qt хороши приложения для мышки/клавиатуры. Для пальца лучше QML

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, razrab83 said:

Есть, QtGui. Qt - это прежде всего кроссплатформенный GUI, а потом всё остальное.  IMHO

На Qt хороши приложения для мышки/клавиатуры. Для пальца лучше QML

так QtGui это и есть PyQt. нет?

Quote

The QtGui module extends QtCore with GUI functionality.

To import the module use, for example, the following statement:


from PyQt4 import QtGui

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, jenya7 сказал:

так QtGui это и есть PyQt. нет?

Нет. Есть Qt - это кроссплатформенный фреймворк. Написан на с++. Он нужен чтобы на с++ можно было кроссплатформенные ПО писать, прежде всего GUI.

Qt разбит на модули.

 

QtCore — классы ядра библиотеки, используемые другими модулями;

QtGui — компоненты графического интерфейса;

QtWidgets — содержит классы для классических приложений на основе виджетов, модуль выделен из QtGui в Qt 5;

Qt QML — модуль для поддержки QML;

QtNetwork — набор классов для сетевого программирования. Поддержка различных высокоуровневых протоколов может меняться от версии к версии. В версии 4.2.x присутствуют классы для работы с протоколами FTP и HTTP. Для работы с протоколами TCP/IP предназначены такие классы, как QTcpServer, QTcpSocket для TCP и QUdpSocket для UDP;

QtOpenGL — набор классов для работы с OpenGL;

И ещё много чего ....

Чтоб не обделять питонщиков, для них написали плуг дополнение PyQt

PyQt — набор «привязок» графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python.

Для ленивых программистов Java сделали Qt Jambi

Qt Jambi — библиотека Java, представляющая собой обёртку Qt, каркаса графических приложений. Она позволяет Java разработчикам использовать Qt в своих проектах.

 

Дизайнерам - им вообще сложны эти ваши языки.... да и им нужно цветовую гамму подбирать и удобства рисовать.... Их пощадили и сделали QML - простой язык разметки. Теперь они могут не задумываясь о внутренности работы программы нарисовать красивую морду приложению, и описать её поведение, да причем так, что прогеру на с++ уйдет годы очень много времени и в итоге может так красиво не получиться (если получиться вообще).

 

QML (Qt Meta Language) — декларативный язык программирования, предназначенный для дизайна приложений, делающих основной упор на пользовательский интерфейс.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, razrab83 said:

Нет. Есть Qt - это кроссплатформенный фреймворк. Написан на с++. Он нужен чтобы на с++ можно было кроссплатформенные ПО писать, прежде всего GUI.

Qt разбит на модули.

 

спасибо за подробное обяснение. последний вопрос - все модули нужно скачивать и устанавливать отдельно или можно одним пакетом все установить? я имею ввиду Распбери, потому что установка на виндоус и линукс разная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 минут назад, jenya7 сказал:

последний вопрос - все модули нужно скачивать и устанавливать отдельно или можно одним пакетом все установить?

А на чем будете писать ПО? Куда скачивать? На десктопе с кросскомпиляцией или прямо на распберри?

Если первое - то на малину поставте(положите рядом с бинарником) только нужные модули, т.е. те которые запросит малина при запуске вашего ПО. На десктоп при установке пакета для разработки все модули встанут.

Более того, если соберёте свое ПО со статическими библиотеками Qt - то вообще ни чего ставить на малину не нужно - только вашу прогу.

Если планируется писать ПО прямо на малине, то при установке SDK все модули сами встанут на малину. Отдельно ни чего ставить не нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, jenya7 сказал:

установка на виндоус и линукс разная

на малине

sudo apt-get install qt-sdk

встанет всё, что нужно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, razrab83 said:

А на чем будете писать ПО? Куда скачивать? На десктопе с кросскомпиляцией или прямо на распберри?

Если первое - то на малину поставте(положите рядом с бинарником) только нужные модули, т.е. те которые запросит малина при запуске вашего ПО. На десктоп при установке пакета для разработки все модули встанут.

Более того, если соберёте свое ПО со статическими библиотеками Qt - то вообще ни чего ставить на малину не нужно - только вашу прогу.

Если планируется писать ПО прямо на малине, то при установке SDK все модули сами встанут на малину. Отдельно ни чего ставить не нужно.

спасибо. вообще писать на десктопе интересный вариант. а что там при компиляции надо указывать таргет? а какой таргет выбрать?

 

а какие модули выбрать? если все он займет 38 Гига! и там нет QtGui.

 

qt.png

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ok. Установил на виндовсе. Создал роиложение, форма, пару контролов. Как теперь в линукс скомпилировать? Установил Qt Installer Framework как они рекомендовали но как его запустить? у него нет гуи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую. Вопрос на чем сделать gui под малину для меня тоже очень актуален. И в его решении столкнулся со следующей проблемой: написал на QML (не сильно сложный интерфейс) и С++ приложение на винде. Все более-менее нормально работает. Скинул проект на малину, там собрал его. И что я вижу QML дичайше тормозит и лагает. Встречал совет что надо включить аппаратное ускорение OpenGL. Однако у меня к малине подключено 2 дисплея (по HDMI и по SPI). По hdmi - является просто периферийное устройство в которое я напрямую пишу через dev/fb0. А иксы работают на дисплее по SPI и соответственно приложуха там же должна отображаться в киоск режиме. Так вот если я включаю openGL то иксы отваливаются от SPI-дисплея. И на этом тупик. Я не могу в моем случае получить адекватный кастомный gui на малине. Кто может что посоветовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оно очевидно и не должно было работать. Видеоядро в малине не подключено к spi и ничего о том мониторе не знает. Возможно получится отрисовывать второй "рабочий стол" в текстуру, загружать в основную память и потом передавать по spi, но жизнеспособность этого решения неизвестна пока не попробуешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...