powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / с/с++/qt4 формошлепство на linux для простого пользователя
25 сообщений из 168, страница 1 из 7
с/с++/qt4 формошлепство на linux для простого пользователя
    #39971961
sunjob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добрый день

1. планы, описание задачи:

хочу разобраться и наработать методику/код "формошлЁп-скрИптинга" для простого пользователя :о)
- GUI-формы будут на QT4/Lazarus (в данном случае рассматриваем QT4 )

в GUI-форме:
- вызовы скриптов, внешних команд и пр...
- получение выхлопа скрипта & ERRORLEVEL для дальнешего анализа

т.к. GUI будут на QT4, то запуск скрипта / чтение выхлопа / ERR_LEVEL , ск.всего, будет на базе QT4

2. настройки и рабочие скрипты

- ini-файл с настройками
- каталог со скриптами (либо стандартный PATH )

3. чтение ini-файла, запуск скриптов

- GUI-программа загружает в буфер содержимое ini-файла
- реакция на кнопку -> вызов обработчика, типа:
Код: sql
1.
run_id(int ID);


- обработчик парсит буфер ini -файла, по ID получает имя_скрипта
- запуск скрипта, анализ выхлопа/кода возврата и ... дальнейшая реализация в зов-ти от фантазии :о)

КОД_1 - запуск внешнего скрипта
архив code_1.tar.xz

Примерный выхлоп основной программы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
### qDebug() 
 exitCode  () = ' 2 '
 exitStatus() = ' 0 '
 str_out      = ' "test script 2, arg=--add_scr2_arg --add_qt_app_arg
" '
 str_err      = ' "" '
 
### printf()
exitCode  () = '2'
exitStatus() = '0'
str_out   () = 'test script 2, arg=--add_scr2_arg --add_qt_app_arg
'
str_err   () = ''



ВОПРОСЫ

1. qDebug - имеет "обрамление" с обоих сторон строк в виде:
Код: sql
1.
' "' + '" '


(т.е. пробел + символ ковычки)

ВОПРОС 1 : это особенности отладочного вывода qDebug ?

в обоих случаях qDebug & printf при "выхлопе текста" запускаемого скрипта - "странная" печать строки, с переносом в конце, хотя сам выхлоп скрипта без переноса
Код: sql
1.
2.
str_out   () = 'test script 2, arg=--add_scr2_arg --add_qt_app_arg
' !!! <-- вот тут перенос конца строки


ВОПРОС 2 :почему?

прочие ВОПРОСЫ :
- может, для внутреннего использования, лучше/проще по старинке использоавть string , или вообще простой буфер char* str ?

мне самому не оч. нравиться использовать qt-классы, для таких простых операций, но !!! логично писать в той "эко-системе" в которой пишешь GUI, мало-ли чего там еще в будущем шарахнет использовать, передать "какой особенный" параметр в QT4/GUI... имхо

уточнение:
- именно QT4
- согласен, для простых GUI на cli/YAD/Zenity , логично "это" делать на bash/perl итд , кому, что удобнее
- в инете есть много "простых" примеров с "кодом" на с/с++, но я не встречал что-бы было реализовано одновременно при запуске скрипта получение выхлопа и кодa-возврата .
- так-же не встречал подходящих/удобных/минимальных примеров/библиотек парсинга ini-файла, что-бы была организована работа с буфером а не с потоками (т.к. каждый раз для чтения ini-файла создаются/закрываются потоки... это не оптимально, надо будет подходящую библиотеку доробатывать, на примете inih , посмотрим, что можно сделать с ней :о)

буду благодарен за подсказки, ссылки, код итд ...

вопросы по написанию GUI и парсинг ini -файла будут позже

TAG: c,c++,gui,qt4,scripting

архив code_1.tar.xz
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972016
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunjob
1. qDebug - имеет "обрамление" с обоих сторон строк в виде:
Код: sql
1.
' "' + '" '


(т.е. пробел + символ ковычки)

ВОПРОС 1 : это особенности отладочного вывода qDebug ?
Да, это стандартный вывод, как и добавление переноса в конце.
Если не нравится, можешь поправить как пожелаешь сделав наследника от QDebug. Подробнее читать тут:
https://doc.qt.io/archives/qt-4.8/debug.html
https://doc.qt.io/archives/qt-4.8/qtglobal.html#qDebug


sunjob
прочие ВОПРОСЫ :
- может, для внутреннего использования, лучше/проще по старинке использоавть string , или вообще простой буфер char* str ?
В принципе конечно можно, но не забудь что в дальнейшем эти std::string и char* надо будет конвертировать в/из QString для работы с виджетами. А оно тебе надо?

sunjob
мне самому не оч. нравиться использовать qt-классы, для таких простых операций,
Да, некоторые, не особо умные, люди еще и boost прилепливают к Qt а потом занимаются утряской не совсем совпадающих интерфейсов и плачут какой плохой этот Qt.

sunjob
но !!! логично писать в той "эко-системе" в которой пишешь GUI, мало-ли чего там еще в будущем шарахнет использовать, передать "какой особенный" параметр в QT4/GUI... имхо
Вот именно. Дополнять фреймворк сторонними библиотеками (а std в данном случае именно что сторонняя) надо только тогда, когда в самом фреймворке этих функций нет. Да и тогда проще и надежнее делать враппер подгоняющий стороннюю библиотеку в формат фреймворка.

sunjob
- так-же не встречал подходящих/удобных/минимальных примеров/библиотек парсинга ini-файла,
QSettings тебе мало?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972018
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunjob
в GUI-форме:
- вызовы скриптов, внешних команд и пр...
- получение выхлопа скрипта & ERRORLEVEL для дальнешего анализа
https://doc.qt.io/archives/qt-4.8/qprocess.html

А еще будет полезно выкинуть Lazarus на помойку истории и перейти на C++ с Qt5. Больше возможностей и жить легче будет.

А! Стоп, если у тебя Lazarus, то string имелся в виду тоже паскалевский? Ну тогда точно: "И думать забудь о нем, QString и только QString".
Повторюсь: использовать то "родные" строки ты конечно сможешь, но каждый раз при обращении к виджетам их придется конвертировать. Оно тебе надо?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972019
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто оплачивает формошлепство на Qt?

Я считал это умерло в 2000х.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972020
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А кто оплачивает формошлепство на Qt?
Да кто угодно, если им нужна GUI и ты сумел убедить что десктопная программа будет лучше веба :)
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972021
sunjob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl

что скажете по реализации в прикрепленном проекте?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972022
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А кто оплачивает формошлепство на Qt?

Я считал это умерло в 2000х.

А разработка графических интерфейсов умерла в 2000-ных? Теперь веб-формо-шлёперство?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972023
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunjob
White Owl

что скажете по реализации в прикрепленном проекте?
А что там говорить? Там есть какой-то проект? Это больше смахивает на попытку запуска QProcess. Кроме нее там собственно говоря ничего и нет.
Формат кода ужасный, потому что отсутствует.
Всего один осмысленный комментарий, да и тот больше на дебаг смахивает. Документацию то в код зачем копировать?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972024
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl

sunjob
мне самому не оч. нравиться использовать qt-классы, для таких простых операций,
Да, некоторые, не особо умные, люди еще и boost прилепливают к Qt а потом занимаются утряской не совсем совпадающих интерфейсов и плачут какой плохой этот Qt.

sunjob
но !!! логично писать в той "эко-системе" в которой пишешь GUI, мало-ли чего там еще в будущем шарахнет использовать, передать "какой особенный" параметр в QT4/GUI... имхо
Вот именно. Дополнять фреймворк сторонними библиотеками (а std в данном случае именно что сторонняя) надо только тогда, когда в самом фреймворке этих функций нет. Да и тогда проще и надежнее делать враппер подгоняющий стороннюю библиотеку в формат фреймворка.

Это ж как нужно воспринимать С++ и программирование в целом, что уже и std стала сторонней библиотекой, а boost предать анафеме. И всё только ради того что бы в QLineEdit текст было поудобнее запихнуть?

Вам не кажется это вообще странным? Что, по вашим словам, одна библиотека должна вытеснить всё остальное?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972025
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
mayton
А кто оплачивает формошлепство на Qt?
Да кто угодно, если им нужна GUI и ты сумел убедить что десктопная программа будет лучше веба :)

Я просто считал что если платформа Windows - то там удобнее .Net.
И быстрее. И ошибок меньше. И разработчиков навалом.

А в Линуксе Qt просто не нужен. Там нет целевой аудитории.

Отдельно можно рассмотреть мобильные платформы но тут я невкурсе.
Пусть знающие расскажут.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972027
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
А кто оплачивает формошлепство на Qt?

Я считал это умерло в 2000х.

А разработка графических интерфейсов умерла в 2000-ных? Теперь веб-формо-шлёперство?
Да. Хотя на мой взгляд дату надо сдвинуть на 2015-ый (плюс-минус пару лет).
Намного проще поддерживать одну рабочую копию веб-сайта (на интра- или интернете не важно) чем при обновлении приложения заниматься рассылкой клиентам новой версии приложения. А связь ныне достаточно устойчивая и шифрование вполне на уровне.

У десктопных приложений ниша достаточно узкая на сегодня: если нет связи с центральной БД или такая связь вообще не нужна по задаче. В первом случае решается играми с отложенным и/или пакетным ETL, но постоянно ищутся способы восстановить связь. А во втором... ну мало таких задач на самом деле, игрушки только если.

Собственно говоря, последний раз я делал десктопный GUI году этак... точно до 2013-го. И то, только потому что это было дополнение к уже существующей коллекции десктопных приложений существовавших с 90-х. А потом мы переводили это все на веб. UI на javascript а серверная часть С+Perl.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972029
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Это ж как нужно воспринимать С++ и программирование в целом, что уже и std стала сторонней библиотекой, а boost предать анафеме. И всё только ради того что бы в QLineEdit текст было поудобнее запихнуть?

Вам не кажется это вообще странным? Что, по вашим словам, одна библиотека должна вытеснить всё остальное?
Не надо путать библиотеку и фреймворк.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972031
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
White Owl
пропущено...
Да кто угодно, если им нужна GUI и ты сумел убедить что десктопная программа будет лучше веба :)

Я просто считал что если платформа Windows - то там удобнее .Net.
И быстрее. И ошибок меньше. И разработчиков навалом.
Ну правильно считал в общем-то. Но внутри-корпоративный веб сайт, все равно лучше чем куча внутри-корпоративных приложений :) Просто потому что поддерживать это удобнее.
До сих пор конечно делают десктопные приложения на продажу, но это все-же намного реже чем разработки "для своих нужд".

mayton
А в Линуксе Qt просто не нужен. Там нет целевой аудитории.
Да при чем здесь ОС? Это вопрос в первую очередь удобства для менеджеров. Тем более что веб формы от ОС клиента зависит мало.

mayton
Отдельно можно рассмотреть мобильные платформы но тут я невкурсе.
Пусть знающие расскажут.
Да тоже самое. Проще добавить на веб-сайт CSS с указанием маленького разрешения и учитывать это при форматировании странички чем писать отдельные приложения под Иос и Андроиды.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972032
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
petrav
Это ж как нужно воспринимать С++ и программирование в целом, что уже и std стала сторонней библиотекой, а boost предать анафеме. И всё только ради того что бы в QLineEdit текст было поудобнее запихнуть?

Вам не кажется это вообще странным? Что, по вашим словам, одна библиотека должна вытеснить всё остальное?
Не надо путать библиотеку и фреймворк.

Я ждал такого аргумента. Скажите, в вашем представлении фреймворк должен вытеснить стандартную библиотеку? Это нормально? И вообще все остальные библиотеки? Зачем такой фреймворк вообще нужен?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972033
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravпо вашим словам, одна библиотека должна вытеснить всё остальное?

Вообще-то да, это наиболее правильный подход к делу. Но Qt такой библиотекой быть не
может, её место на помойке истории.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972034
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
White Owl
пропущено...
Не надо путать библиотеку и фреймворк.

Я ждал такого аргумента. Скажите, в вашем представлении фреймворк должен вытеснить стандартную библиотеку? Это нормально? И вообще все остальные библиотеки? Зачем такой фреймворк вообще нужен?
Да, если фреймворк имеет полную замену для стандартной библиотеки, то смысл использовать эту стандартную библиотеку пропадает. Qt это как раз тот случай - он имеет все чтобы полностью заменить std и boost.
И никто не заставляет тебя этот фреймворк использовать.
Но и извращаться с постоянной конвертацией строк из std::string в QString и обратно - технически это возможно, но идиотизм.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972035
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl

Собственно говоря, последний раз я делал десктопный GUI году этак... точно до 2013-го. И то, только потому что это было дополнение к уже существующей коллекции десктопных приложений существовавших с 90-х. А потом мы переводили это все на веб. UI на javascript а серверная часть С+Perl.

И что же это бы за такие приложения с 90-х?

PS: Собственно я участие в веб-разработке закончил в 2010-м.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972039
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravпо вашим словам, одна библиотека должна вытеснить всё остальное?

Вообще-то да, это наиболее правильный подход к делу. Но Qt такой библиотекой быть не
может, её место на помойке истории.
Ну почему-же сразу на помойке? Есть все-же задачи "личного плана" когда нужен GUI, но точно не нужно синхронизировать данные с каким-нибудь централизованным хранилищем, максимум с личным NAS если только. Вот тут действительно веб слегка проигрывает десктопу, потому что поддерживать веб сервер для самого себя как-то лень.
И вот тогда Qt еще может быть конкурентоспособной.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972040
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravпо вашим словам, одна библиотека должна вытеснить всё остальное?

Вообще-то да, это наиболее правильный подход к делу. Но Qt такой библиотекой быть не
может, её место на помойке истории.

Допустим не Qt, а предположительная Zt. Мы написали десятки-сотни тысяч строк кода логики на Zt, а потом эта библиотека умерла. То что нам делать?

PS: Вообще тяжёлая судьба у С++ если некоторые уже дошли до того, что нужно отказаться от стандартной библиотеки. Наводит на мысли.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972043
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
White Owl

Собственно говоря, последний раз я делал десктопный GUI году этак... точно до 2013-го. И то, только потому что это было дополнение к уже существующей коллекции десктопных приложений существовавших с 90-х. А потом мы переводили это все на веб. UI на javascript а серверная часть С+Perl.

И что же это бы за такие приложения с 90-х?
Отчетная система написанная на Infomaker. Сам Infomaker позволяет клиенту мышкой конструировать SQL запросы, но для простых юзеров удобнее готовый отчет в который надо только параметры вбить. Тогда делают библиотечку отчетов и компилируют их в один .exe. Со временем таких .exe стало много...
И, в дополнение к основным отчетным .exe модулям, шла обвязка из микро-утилит для общего контроля отчетных модулей, смены паролей к БД, система обновления выкачивающая измененные модули с ftp, система конвертации клиентских ID (их у нас много накопилось за десятилетия жизни БД). Вот эти утилиты писались на Qt, сначала пробовали их на батниках делать и даже успешно жило, но потом захотелось GUI - и Qt выручил.

petrav
PS: Собственно я участие в веб-разработке закончил в 2010-м.
У тебя еще все впереди.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972044
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlИ вот тогда Qt еще может быть конкурентоспособной.

С её-то архитектурой? Ну, разве что за звание "самого большого тормоза" на поле Ява и
(-скрипт) поделий.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972048
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Dimitry Sibiryakov

пропущено...

Вообще-то да, это наиболее правильный подход к делу. Но Qt такой библиотекой быть не
может, её место на помойке истории.

Допустим не Qt, а предположительная Zt. Мы написали десятки-сотни тысяч строк кода логики на Zt, а потом эта библиотека умерла. То что нам делать?
Тогда у тебя три пути:
- Поддерживать приложение написанное на мертвой библиотеке и попытаться самому взять эту библиотеку в свои руки и самому ее оживлять.
- Полностью переписать приложение на новые библиотеки или на библиотеки которым ты более доверяешь
- Попытаться выделить куски кода с умершей библиотекой в отдельные модули и не трогать их, а весь новый функционал писать по новому.
Выбирай на вкус.
А еще не забывай о принципе: "Работает не трогай!" И многие компании его придерживаются.

petrav
PS: Вообще тяжёлая судьба у С++ если некоторые уже дошли до того, что нужно отказаться от стандартной библиотеки. Наводит на мысли.
А ключик /nodefaultlib у микрософтовского компилятора тебя не смущает?
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972049
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
petrav
пропущено...

И что же это бы за такие приложения с 90-х?
Отчетная система написанная на Infomaker. Сам Infomaker позволяет клиенту мышкой конструировать SQL запросы, но для простых юзеров удобнее готовый отчет в который надо только параметры вбить. Тогда делают библиотечку отчетов и компилируют их в один .exe. Со временем таких .exe стало много...
И, в дополнение к основным отчетным .exe модулям, шла обвязка из микро-утилит для общего контроля отчетных модулей, смены паролей к БД, система обновления выкачивающая измененные модули с ftp, система конвертации клиентских ID (их у нас много накопилось за десятилетия жизни БД). Вот эти утилиты писались на Qt, сначала пробовали их на батниках делать и даже успешно жило, но потом захотелось GUI - и Qt выручил.

У вас специфическое миропредставление. Или БД, или игрушки. И почти всё. Вот приведите веб-аналог LabVIEW. Да множество таких примеров.
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972050
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вижу - только один смысл делать UI-приложение на десктопе. Это что-то связанное
с растровой векторной и 3D-графкиой и звуком. Photoshop, Illustrator, AutoCad, 3Dmax, Nuendo.

По поводу Forms.

Eсли технология WebAssembly, или скажем Edge/Chromium обеспечат нативную компилляцию
JavaScript в выполнимый код - тогда Forms приложения потеряют всякий смысл.

В части игровой графики браузеры уже поставили планку очень высоко с Unity/WebGl, заставив
нас вообще пересмотреть сам термин "приложение".
...
Рейтинг: 0 / 0
с/с++/qt4 формошлепство на linux для простого пользователя
    #39972052
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

White OwlИ вот тогда Qt еще может быть конкурентоспособной.

С её-то архитектурой? Ну, разве что за звание "самого большого тормоза" на поле Ява и
(-скрипт) поделий.
А что тебе не нравится? Скорость работы против скорости разработки.
До тех пор пока комп ждет юзера - программа не тормоз. А у Qt единственные тормоза при старте приложения, пока она подтянет в память все модули. Но потом все работает вполне прилично.
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 1 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / с/с++/qt4 формошлепство на linux для простого пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]