Russian Qt Forum

Разное => Говорилка => Тема начата: Faster от Август 17, 2020, 08:53



Название: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 17, 2020, 08:53
Всем доброе время суток!

предисловие:
Решил совместить написание одной небольшой утилитки с изучением Qt, все время писал на Builder и както не парился с другим, в последний год много на linux но все с консоли под консоль и вот в общем идея крос платформиности меня пробрала до конца и... и у вас появился еще один лаймер с кучей тупых вопросов ...:)

Суть вопроса (ов):

Основная мысль утилки это написание программы для программирования/настройки разных дивайсов ... частотники модули прочее оборудование седящее на интерфейсах RS-232/485 в итоге родилась идея написать оболочку на сях , с всякими крутилками таблицами регистров настроеек и прочего что может пригодиться, в ini файл сунуть профиль устройства и файлик на JS с маленьким скриптом для работы с даным устройством. Соответсвенно вся коммуникационная ботва , протоколы и прочее будут уже на сях реализованы...

и так сами вопросы :
я нашел в qt  такую вещь как ScriptEngine  и примеры но текста мало ... в свзи с чем вопросы :
можно ли в этих JS реализовать взаимодействие с объектом , как передать в JS этот объект ?
етсь ли готовый компонент редактора JS с подсветкой, что бы сунуть и не париться с написанием своего
есть ли парсер INI файлов ?
Есть ли возможность парсить  JSON
Чем правильнее работать с COM портами ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 17, 2020, 09:09
Я не знаю, что такое липарсер, но он есть https://doc.qt.io/qt-5/qsettings.html
JSON парсинг есть
Для COM портов https://doc.qt.io/qt-5/qserialport.html
Зачем тебе JS я так и не понял, Если тебе что-то скриптовое нужно, то возьми лучше связку python/Qt (PyQt).


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 17, 2020, 09:17
Цитировать
Зачем тебе JS я так и не понял
ну скажем так JS прям сильно проще и например за долгое время общения я видел массу налоадчиков знающих JS и не одного  (себя не считаю) знающих питона


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 17, 2020, 09:31
По мне, так python лучше подходит для этих вещей. JS ниша все таки ближе к web.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 17, 2020, 09:36
Оч странно но вот лично я к питону дышу ровно , считаю его не рыбой не мясом ,  тоесть и не настолько точен для вэба как PHP и не настолько хорош как Си для компила .. хотя сейчас с тцать проходными оптимизаторами можно и бэйсик комилять ... не парится не кто ... но лично мне не очень ...

JS простой нет замут и затыков мне кажется он самый удачный вариант , я уже аналогичные вещи делал ... ина билде это вообще не проблема  но ме вот именно Qt счас  интересен .. воти задаю вопросы . ато что сунулся а тут все очень непривычно ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 17, 2020, 09:37
Цитировать
Возьми любую книжку по Qt и почитай введение. А еще лучше, открой Qt examples и посмотри как там все делается.
Есть рекомендации ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 17, 2020, 09:42
Можешь вот эту найти в pdf и прочитать https://ekniga.org/kompyuternaya-literatura/programmirovanie/135173-qt-4-programmirovanie-gui-na-s.html

Это про Qt4, но к 5 версии тоже подойдет, ибо основные принципы остались теми же.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Август 17, 2020, 13:41

я нашел в qt  такую вещь как ScriptEngine  и примеры но текста мало ... в свзи с чем вопросы :
можно ли в этих JS реализовать взаимодействие с объектом , как передать в JS этот объект ?

Этот модуль объявлен deprecated и будет убран в Qt6, вместо него надо использовать QJSEngine из модуля QtQml


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 18, 2020, 04:47
Цитировать
Этот модуль объявлен deprecated
Спасибо  это уже минус одна потенциальная проблема в будущем...

тут вообще стоит спросить разрешения писать в приват уже наверно чтобы не создавать темы если честно...

но пока спрошу тут , я уже озвучевал что писал много на билдях ну ина визуале  , Qt  ставит в тупик и само еобидное что все называется по другому все интерфейсы другие сходства мало  прям опечален ... (я не говорю тчо это не правильно ...)
в общем тупой вопрос в VC/Bulder у компонента есть такая вещб как Anchors / Align
с помощью них можно к примеру кнопку выровнять по центру или зацепить за правую позицию окна , тоесть при растягивании оного она поедет вправо ... уже час гуглю ине могу догнать как это реализовать тут ... точнее нашел но именно кодлом .. а что визульны йредактор н едает возможности настроить такое сразу ?

не верю ...
вотищу дальше ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 18, 2020, 07:09
Ну в рбщем вот ворпрпос по серьезнее ...
осваиваю QJSEngine с документации . все перлодо момента...
Код:
    //Необходимые переменные
    QJSEngine myEngine;

    //создание объека  внтури движки
    QJSValue obj=myEngine.newObject();
    obj.engine()->evaluate("tst = {name: \"John\",age: 30};");

    //Создание глобальной переменной
    QJSValue b;
    b=123;
    myEngine.globalObject().setProperty("SPI", b);



    //связь с объектом созданным с c++
    QJSValue scriptCHK = myEngine.newQObject(ui->checkBox);
    myEngine.globalObject().setProperty("chk", scriptCHK); //chk.setChecked(true);

    ui->checkBox->setChecked(! ui->checkBox->isChecked()); //Не удалось завести из скрипта chk.isChecked();  почему не ясно , не видит данную функцию




    //Выполнение скрипта из текст бокса
    QJSValue ex=myEngine.evaluate(ui->textEdit->toPlainText());
    ui->textEdit_2->insertPlainText(ex.toString());
    ui->textEdit_2->insertPlainText("\n");


    //Получение глобальной перменной
    ui->textEdit_2->insertPlainText("SPI=");
    ui->textEdit_2->insertPlainText(myEngine.globalObject().property("SPI").toString());
    ui->textEdit_2->insertPlainText("\n");
в общем все связывается и импортирует и например если в эдит боксе нарисовать chk.setChecked(true);
и выполнить код то все отрабатывает и я могу релально чекедом дергать из скрипта
а вот елси попробовать прочесть сотсояние :
chk.isChecked();
или
chk.checkState();

то и в том и в том случае :
TypeError: Property 'isChecked' of object QCheckBox(0x2e72f50, "checkBox") is not a function

Причем в документацтии нет ни слова о данной проблеме или не возможности доступа к некторым функциям ...


ps очень опечалило QT отсутсвием конструкции __property .... прям вообще  кучи односложных Set/Get функций ... просто \ППЦ


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 18, 2020, 07:15
провернул из JS :
Код:
Object.keys(chk);
и получил :
Цитировать
objectName,modal,windowModality,enabled,geometry,frameGeometry,normalGeometry,x,y,pos,frameSize,size,width,height,rect,childrenRect,childrenRegion,sizePolicy,minimumSize,maximumSize,minimumWidth,minimumHeight,maximumWidth,maximumHeight,sizeIncrement,baseSize,palette,font,cursor,mouseTracking,tabletTracking,isActiveWindow,focusPolicy,focus,contextMenuPolicy,updatesEnabled,visible,minimized,maximized,fullScreen,sizeHint,minimumSizeHint,acceptDrops,windowTitle,windowIcon,windowIconText,windowOpacity,windowModified,toolTip,toolTipDuration,statusTip,whatsThis,accessibleName,accessibleDescription,layoutDirection,autoFillBackground,styleSheet,locale,windowFilePath,inputMethodHints,text,icon,iconSize,shortcut,checkable,checked,autoRepeat,autoExclusive,autoRepeatDelay,autoRepeatInterval,down,tristate,objectNameChanged,windowTitleChanged,windowIconChanged,windowIconTextChanged,customContextMenuRequested,setEnabled,setDisabled,setWindowModified,setWindowTitle,setStyleSheet,setFocus,update,repaint,setVisible,setHidden,show,hide,showMinimized,showMaximized,showFullScreen,showNormal,close,raise,lower,updateMicroFocus,grab,pressed,released,clicked,toggled,setIconSize,animateClick,click,toggle,setChecked,stateChanged
И да их тут нет , а так же нет любых функций в любом объекте объявленных как
const ? ну к примеру :
Код:
bool isChecked() const;

теперь вопрос это BUG или ФЫЧА ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 18, 2020, 08:02
Забудь про Anchors - это то еще говнище. В Qt есть layouts и они очень удобные, достаточно просто разобраться.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 18, 2020, 09:08
Шутка удачная ... пока что я вижу кучу проблем то что делалсь в три клика приводит к куче наваленного в визуале друг надруга ... пок ане вижу логики .. ну да ладно обычно она есть ...


вопрос хочу статус бар разметить , ну например с права разметсить пару текстовых надписей , мелкую картинку с визуальным статусом  ну и тав так  а так же с лева ждлинную текстовую строчку чтобы выводить общие сообщения  (showMsg курто но его накрывает виджет)

Есть мысли о том как это сделать ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: kuzulis от Август 18, 2020, 11:21
Читай Шлее, смотри примеры до посинения/просветления.

PS: На этом форуме есть тема "Общие вопросы" - там куча ссылок на разную документацию как на русском так и на английском.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Август 18, 2020, 14:09

теперь вопрос это BUG или ФЫЧА ?

исполняемые из JS функции должны быть помечены как Q_INVOKABLE, но вам не нужно дергать эту функцию, у вас есть свойство объекта, которое можно записать напрямую (obj.checked = !obj.checked)


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 19, 2020, 01:28
Цитировать
Constructors exposed to the meta-object system (using Q_INVOKABLE) can be called from the script to create a new QObject instance with JavaScriptOwnership. For example, given the following class definition:
Это относится к myEngine.newObject

а myEngine.newQObject экспортирует класс Qt и у него нет Q_INVOKABLE
Код:
class Q_WIDGETS_EXPORT QCheckBox : public QAbstractButton
{
    Q_OBJECT

    Q_PROPERTY(bool tristate READ isTristate WRITE setTristate)

public:
    explicit QCheckBox(QWidget *parent = nullptr);
    explicit QCheckBox(const QString &text, QWidget *parent = nullptr);
    ~QCheckBox();

    QSize sizeHint() const override;
    QSize minimumSizeHint() const override;

    void setTristate(bool y = true);
    bool isTristate() const;

    Qt::CheckState checkState() const;
    void setCheckState(Qt::CheckState state);

Q_SIGNALS:
    void stateChanged(int);

protected:
    bool event(QEvent *e) override;
    bool hitButton(const QPoint &pos) const override;
    void checkStateSet() override;
    void nextCheckState() override;
    void paintEvent(QPaintEvent *) override;
    void mouseMoveEvent(QMouseEvent *) override;
    void initStyleOption(QStyleOptionButton *option) const;


private:
    Q_DECLARE_PRIVATE(QCheckBox)
    Q_DISABLE_COPY(QCheckBox)
    friend class QAccessibleButton;
};

и вообще я слепой ине вижу каким образом вообще работает "obj.checked" ? ??????????? нет оно конечно работает но как что импортирет ? каким макаром ??? я вообще в объявлении не вижу такой возможности ... я и попредкам прошёл... итам тоже пусто ... ОБЪЯСНИТЕ МНЕ ЛОГИКУ ... пока есть ощущение черно йшкатулки с фычами


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 19, 2020, 08:30
Не забывай про c++ - QCheckBox наследуется от QAbstractButton, который и имеет это свойство.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 20, 2020, 03:05
Мой моск сожжен ... Check наследуюется от Button ....

Мой моск ломается чуствую пока я буду входить в Qt меня ждет исчё масса таких сюйпризов...

так а почему тогда вот этот вариант :
Цитировать
ui->checkBox->checked=true;
вызывает ошибку :
Цитировать
D:\Faster\Documents\Qt\UniPort\Src\mainwindow.cpp:41: ошибка: 'class QCheckBox' has no member named 'checked'; did you mean 'clicked'?
     ui->checkBox->checked=true;
                   ^~~~~~~
                   clicked

в недоумении ?


и исчё вопрос , получил я EXE фал выбрав Relise  и рпи запуске он требует пачку DLL от qt для работ ы...

вопросы :
1- их нужо тоскать с приложением в той же папке ?
2- нужно ставить чтототипа рунтайм компонентов ?
3- можно ли сбилдить экзешник не тркбующий ничего кроме себя на другой машине ? (жестко слинковать либы в экзешник) ???


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 20, 2020, 07:39
Код
C++ (Qt)
ui->checkBox->setChecked(true);
 

По поводу dll - ты можешь собрать все статически, но тогда ты либо должен будешь купить Qt, либо распространять свою программку под GPL. Но проще их с exe таскать, есть windeploy утилита, которая соберет тебе все, что нужно. Упаковываешь это в инсталлятор и устанавливаешь где надо.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 20, 2020, 08:14
Цитировать
Код:
ui->checkBox->setChecked(true);
Вот ..теперь я перезадаю свой вопрос , с какого хрена я должен при объявленном property делать вызов его функции ?????
я понимаю что это работает , но тогда на кой Х...н нужны проперти ?

У мнея полное не понимание логики в данном направлении  вроде все тоже чтои в VC /Builder но работает не так ... я немогу понять ... для чего тогда они вообще тут ?

Цитировать
По поводу dll - ты можешь собрать все статически, но тогда ты либо должен будешь купить Qt, либо распространять свою программку под GPL
Ахаха ... вот как всегда ну нет ничегобесплатного ... в этом мире ...

в общем то меня GPL утсраивает  я еслине на заказ то пишу для всех если кому надо ... темболее втом чтоделаю сейчас продажа даже не предпологается ... как это провернуть ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 20, 2020, 11:32
В c++ нет пропертей, то, что у тебя было в билдере, тут не прокатит - это были их надстройки. Вообще, советую забыть про билдер и начать с чистого листа. Q_PROPERTY или Q_INVOKABLE это уже мета надстройка, она будет работать в js коде как ты хочешь, но в плюсовом у тебя так и останется геттер и сеттер.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 20, 2020, 11:33
По поводу статической сборки гугл тебе в помощь, тема множество раз поднималась. Но я бы советовал все таки использовать windeploy и таскать либы с собой.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 21, 2020, 06:27
Цитировать
Но я бы советовал все таки использовать windeploy и таскать либы с собой.
Хорошо я сделаю так как рекомендуешь , ибо яйца тирекса не учат :)

Цитировать
Вообще, советую забыть про билдер и начать с чистого листа.
Не, не выйдет пока тут не начну плавать ... а пока как муха в невесомости , вроде все понятно но нехрена не так ...

пок аразираюсь с библиотеками и плагинами ... вроде всё прет ... QJSEngine запустил всё пашет ... уже продумываю скилет софтины ... в общем пок анет вопросов .. но я вернусь :)


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 21, 2020, 07:05
В общем  попробовал я разобратьтся с windeploy  она натащила тонну всякой хрени и в итоге все равно не все собрала требует теперь при запуске куски от g++ их то как и откуда добывать ?

в общем вопрос открыт есть ли нормальное решение данной рпоблемы, заставить саму среду можно заставить линкануть ?

я сильно разочарован этобазовая функция и должна включаться по галочке ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 21, 2020, 10:00
Можешь предоставить больше конкретики?
1. Какой компилятор используешь (mingw как я понял?)
2. Какие файлы тебе windeploy собрал
3. Какую ошибку ты получаешь при запуске на другом компьютере?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: kuzulis от Август 21, 2020, 11:57
Цитировать
я сильно разочарован этобазовая функция и должна включаться по галочке

Никому никто ничего не должен, это опенсорс. Тут тебе не галочкотыканье!  ;D


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 24, 2020, 08:11
Можешь предоставить больше конкретики?
1. Какой компилятор используешь (mingw как я понял?)
2. Какие файлы тебе windeploy собрал
3. Какую ошибку ты получаешь при запуске на другом компьютере?
1- да
2- :
Код:
21.08.2020  14:00    <DIR>          bearer
11.03.2014  20:54         4 173 928 D3Dcompiler_47.dll
21.08.2020  14:00    <DIR>          iconengines
21.08.2020  14:00    <DIR>          imageformats
12.05.2020  01:46            67 688 libEGL.dll
12.05.2020  01:46         6 297 408 libGLESv2.dll
20.08.2020  10:13             1 324 main.o
21.08.2020  13:29            13 210 mainwindow.o
20.08.2020  10:13             3 587 moc_mainwindow.cpp
20.08.2020  10:13             9 593 moc_mainwindow.o
20.08.2020  10:13            14 583 moc_predefs.h
14.06.2016  22:00        20 923 392 opengl32sw.dll
21.08.2020  14:00    <DIR>          platforms
12.05.2020  01:46         8 174 864 Qt5Core.dll
12.05.2020  01:46         9 684 704 Qt5Gui.dll
12.05.2020  01:46         2 692 000 Qt5Network.dll
12.05.2020  02:25         7 365 952 Qt5Qml.dll
12.05.2020  01:54           573 688 Qt5Svg.dll
12.05.2020  01:46         8 655 264 Qt5Widgets.dll
21.08.2020  13:49               231 settings.ini
21.08.2020  14:00    <DIR>          styles
21.08.2020  14:00    <DIR>          translations
21.08.2020  13:29            32 768 UniPort.exe

ну сишные артефакты понятно в топку они и при экзешнике были

вывод windeployqt:
Код:
D:\Faster\Documents\Qt\UniPort\Output\release>C:\Qt\5.15.0\mingw81_64\bin\windeployqt.exe uniport.exe
D:\Faster\Documents\Qt\UniPort\Output\release\uniport.exe 64 bit, release executable [QML]
Adding Qt5Svg for qsvgicon.dll
Direct dependencies: Qt5Core Qt5Qml Qt5Widgets
All dependencies   : Qt5Core Qt5Gui Qt5Network Qt5Qml Qt5Widgets
To be deployed     : Qt5Core Qt5Gui Qt5Network Qt5Qml Qt5Svg Qt5Widgets
Warning: Cannot find GCC installation directory. g++.exe must be in the path.
Qt5Core.dll is up to date.
Qt5Gui.dll is up to date.
Qt5Network.dll is up to date.
Qt5Qml.dll is up to date.
Qt5Svg.dll is up to date.
Qt5Widgets.dll is up to date.
libGLESv2.dll is up to date.
libEGL.dll is up to date.
D3Dcompiler_47.dll is up to date.
opengl32sw.dll is up to date.
qgenericbearer.dll is up to date.
qsvgicon.dll is up to date.
qgif.dll is up to date.
qicns.dll is up to date.
qico.dll is up to date.
qjpeg.dll is up to date.
qsvg.dll is up to date.
qtga.dll is up to date.
qtiff.dll is up to date.
qwbmp.dll is up to date.
qwebp.dll is up to date.
qwindows.dll is up to date.
qwindowsvistastyle.dll is up to date.
Creating qt_ar.qm...
Creating qt_bg.qm...
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_da.qm...
Creating qt_de.qm...
Creating qt_en.qm...
Creating qt_es.qm...
Creating qt_fi.qm...
Creating qt_fr.qm...
Creating qt_gd.qm...
Creating qt_he.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ko.qm...
Creating qt_lv.qm...
Creating qt_pl.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...
Creating qt_zh_TW.qm...

Вот тут указана основная печалька :
Код:
Warning: Cannot find GCC installation directory. g++.exe must be in the path.

3- в скринах

kuzulis
Цитировать
Никому никто ничего не должен, это опенсорс. Тут тебе не галочкотыканье!  Смеющийся
Спасибо . ваш ответбыл черезвычайно полезен ... он дал ответы на все мои вопросы. я вам очень благодарен...



Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 24, 2020, 08:16
В общем судя по всему не хватает библиотечк от GCC и скомпиленной стандартной либы , теперь понять бы как заставить windeploy собирать это все в кучу ...
в принципе я могу через PS собрать все это потом в один exe хотя в принципе наплевать на папки и прочее лижбы работало ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые
Отправлено: Пантер от Август 24, 2020, 08:34
Путь к твоему gcc добавь в PATH перед запуском windeploy, он же просто не может найти gcc'шные библиотеки.
Тебе даже черным по белому намекнули
Цитировать
g++.exe must be in the path


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 24, 2020, 08:38
АХАХА зашел чтобы написать об этом пока писал первый ответ посетила мысль . решил проверить ...

я вообще эксперементировал с ключем -dir но это не давало эфекта , в общем решение такое в глобальный PATH сунул пути ко всем бинам 32/64 компелятора , так же lib

и все вроде как прошло ... счас потестим на чистой тачке ...

Пантер спасибо ... пока вопросы иссякли ... счас буду разбераться с компортами и вопросом как егомегабита на 2 открыть :)


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 24, 2020, 09:18
И вот новый вопрос , хочу сделать MDI окно ...

бросаю на форму MDI компонент но как заставить его растягиваться вместе с формой , через дизайнер форм ?
если можно то с скринами по шагам ?

я понимаю что достал таким базисом но я тупо не могу понять логику , та кто я понял setVenytralWidget  но как с дизайнера ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые
Отправлено: Пантер от Август 24, 2020, 12:18
https://youtu.be/v3zQrCri4sc


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: kuzulis от Август 24, 2020, 13:01
Пусть сначала книжки почитает... А то задолбает вопросами. Он же ни одной еще не прочел, а уже полез программировать.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 24, 2020, 13:09
Пусть сначала книжки почитает... А то задолбает вопросами. Он же ни одной еще не прочел, а уже полез программировать.
Да ладно, человек переползает с Билдера - это тяжело. Это как дорогой коньяк после аптечного боярышника. Надо помочь человеку стартануть. ;D


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 27, 2020, 04:07
Пантер , безумно благодарен за вашу позицию ...  под виндой немного по другому не так как в видосе, но я нешл ...

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

У меня нет проблем с програмированием , я пишу на всем , под такое количество устройств что ты и половины не знаешь .. у меня проблема освоения новой среды , логика которой координально отличается от двух мне знаокмых VC и Builder что приводит к наличию весьма глупых вопросов , да я предпологаю что в данном случае отсутсвие опыта было бы плюсом но увы их етсь у меня и я вынужден отталкиваться от старого что в данном случае вообще не работает и пок ана мой взгляд выглядит н елогичным и неправельным ... и если бы Пантер  не помогал я бы до сих пор тыкался в непонятные места и драл волосы на голове ... в то время как решение было всего в одном клике ... (ка кнапример вопрос с MDI) просто не понимая логики его можно совершить только методом "научного тыка" а это повремнеи серьезный рандом ...

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

p.s. надеюсь более мне не придется давать столько офтопа


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 27, 2020, 04:41
ХМ исче вопрос , в общем сделал MDI Формочку и тут обнаружил странность в поведении :
В общем при сворачивании дочернего окна все работает нормально ...
(https://i.ibb.co/pXCp1Cx/1.png) (https://ibb.co/pXCp1Cx)
А вот если развернуть ... то не отображаются
(https://i.ibb.co/mX9DpDk/2.png) (https://ibb.co/mX9DpDk)
Отсутсвуют кнопки дочернего окна :
(https://i.ibb.co/MGZcsy1/3.png) (https://ibb.co/MGZcsy1)

Это решается ?

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


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые
Отправлено: Пантер от Август 27, 2020, 10:46
Надо же, кто-то еще mdi использует. К сожалению, тут помочь не могу - лет 15 с ним не работал.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: kuzulis от Август 27, 2020, 12:13
Цитировать
kuzulis, буть добр коль ткнул в книжку покажи в какой книжке на какой странице об этом написано ?

Читай азы "Жасмин Бланшет и Марк Саммерфилд" (Qt4 программирование GUI на С++), стр  19 - Компоновка виджетов, стр 162 - Компоновка виджетов на форме.

Цитировать
У меня нет проблем с програмированием , я пишу на всем ,

Если бы так и было, то ты бы разобрался молча за пару-тройку дней.

Цитировать
под такое количество устройств что ты и половины не знаешь ..

Ойли?   :D

Цитировать
а фраза "пойди по гугли" дается только тем человеком которы самне знате ответа на вопрос... доказано не однократно

  :D

PS: Читай книжки, там не предлагается что-то сложное и особенное - там база! Этим ты съэкономишь и свое время и пользователей форума.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Август 27, 2020, 12:19
Читай азы "Жасмин Бланшет и Марк Саммерфилд" (Qt4 программирование GUI на С++), стр  19 - Компоновка виджетов, стр 162 - Компоновка виджетов на форме.

Блин, изучать Qt5 (а уже Qt6 на подходе) по книжке про Qt4 - это такое. Про лайауты там, конечно, написано, но всё же многое поменялось с тех пор (те же коннекты)

Ойли?   :D

Я тоже орнул=) Ну ладно, случайно попасть пальцем в железячника достаточно сложно.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Август 27, 2020, 12:20
А вот Шлее книжку апдейтнул (хотя я слышал что не полностью), вообще действительно имеет смысл прочитать что-то из списка https://wiki.qt.io/Books/ru

На аглицком, понятно, книжек свежих больше https://wiki.qt.io/Books


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые
Отправлено: Пантер от Август 27, 2020, 17:29
Базис не поменялся с Qt4, так что книга вполне себе подходит. Почитать саму книгу, а потом по документации уже прочитать что поменялось.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые
Отправлено: Faster от Август 28, 2020, 01:23
Надо же, кто-то еще mdi использует. К сожалению, тут помочь не могу - лет 15 с ним не работал.
под Qt это плохой тон илипросто не надо было ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 28, 2020, 01:35

Ойли?   :D

да как бы более 20 лет пром програмирования , фриланса и работы на бугровые компании... я как бэ микроэлектронщик ... ик а кты понимаешь Qt вижу чуть больше недели ... причем не более пары часов в день в ключая написаниетупых постов для тебя ...

Читай азы "Жасмин Бланшет и Марк Саммерфилд" (Qt4 программирование GUI на С++), стр  19 - Компоновка виджетов, стр 162 - Компоновка виджетов на форме.

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

в дальнейшем ПЖСТ проходи мимо ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 28, 2020, 02:37
ХМ .. у меня вопрос .. я туплю или ???
Код:
protected:
    void mousePressEvent(QMouseEvent *) override;
    void mouseMoveEvent(QMouseEvent *) override;
    void mouseReleaseEvent(QMouseEvent *) override;
    void mouseDoubleClickEvent(QMouseEvent *) override;
    void keyPressEvent(QKeyEvent *) override;
    void focusInEvent(QFocusEvent *) override;
    void focusOutEvent(QFocusEvent *) override;
    void paintEvent(QPaintEvent *) override;

Судя по куску выше я не могу просто сделать реакци к примеру на нажатие кнопки в Дезайнере...  чтоб ытакое реализовать я должен сначала сделать свой класс потомок от например QLineText и только потом смогу юзать событие нажатиян акнопку ????

или я чтото не догнал ???


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: sergek от Август 28, 2020, 09:31
или я чтото не догнал ???
Вот он, один из главных тормозов после C++Builder, в в дизайнере которого такие вещи делаются одним кликом :)
В Qt в дизайнере нужно создать действие QAction, в классе формы описать слот, в котором будут выполняться нужные операции, и соединить сигнал действия со слотом, например:
Код
C++ (Qt)
connect(actionConnect, &QAction::triggered,   this, &MainWindow::connectSlot);
Немного дольше, но неизмеримо гибче ;)


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 28, 2020, 09:34
или я чтото не догнал ???
Вот он, один из главных тормозов после C++Builder, в в дизайнере которого такие вещи делаются одним кликом :)
В Qt в дизайнере нужно создать действие QAction, в классе формы описать слот, в котором будут выполняться нужные операции, и соединить сигнал действия со слотом, например:
Код
C++ (Qt)
connect(actionConnect, &QAction::triggered,   this, &MainWindow::connectSlot);
Немного дольше, но неизмеримо гибче ;)
ПРОСТИ но не мог ли ты прочесть еще раз мой вопрос и четко понять что речь идет не о ТРИГГЕТ а о нажатии кнопки !!!
ибо то что ты сказалнаходится в ПАБЛИКЕ !


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: sergek от Август 28, 2020, 12:11
Ну, попутал немного ;) "и незачем так орать я и в первый раз прекрасно слышал" )).
Код
C++ (Qt)
connect(ui->pushButton, &QPushButton::pressed, this, &MainWindow::onPressSlot);


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: kuzulis от Август 28, 2020, 13:59
Вы уже поспели, сливы?
Очень ты нетерпеливый!
Ну зачем же каждый час
Спрашивать об этом нас?
(С)

 ;D

Читай книжки, за 20 лет мало что-то прочитал!


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Igors от Август 28, 2020, 16:45
Читай азы "Жасмин
Ах, ностальгия  :)


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 31, 2020, 03:01
Тяжко да тяжко ...

и так пробую от вопросов конкретных перейти к вопросам на примере ...
и так хочу мониторить событие нажатия на кнопку и получать символ и модификаторы, в поле lineEdit 

Вот сам косяк :
(https://i.ibb.co/1rJsmNG/1.png) (https://ibb.co/1rJsmNG)

в связи с чем задаю вопрос , МНЕ НУЖНО ДЕЛАТЬ СВОЮ ОБЕРТКУ И ДОСТАВАТЬ ВСЕ ЭТИ СОБЫТИЯ из private ??????

или есть другой , адекватный способ?

походу не умею я задавать глупые вопросы ...  но надеюсь вышло ...

p.s. вчера за вечер на билде софтину наваял ... теперь чисто принципиально про Qt ... очень уж интересно понять женскую логику ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Август 31, 2020, 03:12
Я так походу нашел ответ на свой во прос и да в ДИЗАЙНЕРЕ нет никакой возможности сделать реакцию для стандартного компонента на нажатие кнопок .. ибо это считатется в Qt так сказать редко используемыми функциями ...
Цитировать
Вам может потребоваться переопределить несколько менее распространенных обработчиков событий:

mouseMoveEvent() возникает, когда мышка перемещается с нажатой кнопкой. Это может быть полезно при выполнении операции перетаскивания. Если вы вызвали setMouseTracking(true), вы будете получать события перемещения мыши, даже если ее кнопка не нажата.
keyReleaseEvent() возникает, когда клавиша отпущена и пока она нажата (если это клавиша с автоповтором). В этом случае виджет получит два события об отпускании и нажатии клавиши для каждого повтора. Нажатие клавиши Tab и сочетания Shift+Tab передается виджету только если он не использует механизм смены фокуса. Для перехвата нажатия этих клавишей вы должны переопределить QWidget::event().
wheelEvent() возникает, если пользователь вращает колесико мыши в то время, как виджет получил фокус.
enterEvent() возникает, когда мышка попадает в пространство, занимаемое виджетом на экране (исключая пространство, занятое дочерними виджетами).
leaveEvent() возникает, когда мышка покидает пространство виджета. Когда мышка переходит в пространство, занимаемое дочерним виджетом, событие leaveEvent() не происходит.
moveEvent() возникает, когда виджет перемещается относительно своего родителя.
closeEvent() возникает, когда пользователь закрывает виджет (или когда вызывается функция close()).

простите менее распространенными ... я чет не догнал ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 31, 2020, 07:14
У тебя немного недопонимание основных механизмов. В Кьюте мы не используем ивенты обычно, они нужны для других нужд. Тут принято использовать сигналы/слоты. Каждый компонент или класс описывает свои сигналы, на которые и можно законнектиться. Сигналы всегда публичные. Если у тебя нет необходимого сигнала, есть два пути:
1. Отнаследоваться от нужного компонента, переопределить обработчик ивента, определить нужный сигнал, заэммитить этот сигнал.
2. Добавить на этот компонент eventFilter и в обработчике сделать то, что тебе надо.

Еще раз напоминаю - не забывай про наследование, нужный тебе сигнал может быть выше по иерархии.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Igors от Август 31, 2020, 07:29
походу не умею я задавать глупые вопросы ... 
Не скромничайте :)

p.s. вчера за вечер на билде софтину наваял ... теперь чисто принципиально про Qt ... очень уж интересно понять женскую логику ...
А зачем? Если на (де)билдере все так прекрасно - ну и живите там

У тебя немного недопонимание основных механизмов. В Кьюте мы не используем ивенты обычно,
Не надо его кормить с ложечки, этим Вы только поощряете лень и тупость.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Август 31, 2020, 07:37
Igors, я сам перешел с билдера много лет назад, мне было тяжело, я еще лет 5 потом из себя выкореживал те паршивые подходы, которые прививает билдер. Я тогда прочитал весь этот форум, чтобы научиться Кьюту. Но, блин, я не работал программистом и мог это себе позволить (когда тебе 20 у тебя больше свободного времени, чем когда тебе 30+ и семья), а когда тебе нужно деньги зарабатывать, тут приходится иногда тупить и лезть на форумы с дебильными вопросами в надежде, что хоть кто-то тебе поможет.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Igors от Август 31, 2020, 08:51
Хмм.. ну не знаю, мое знакомство с Qt напротив, было легким и приятным. Месяца за 2 (без отрыва от производства) я вполне освоил, "в первом приближении" конечно. Ну слоты-сигналы - я их не люблю, но что там может быть неясно ??? С таким букварем, и не разобраться - это надо уметь. Обычная история - не хочет читать, на что рассчитывает - хз, никакой форум не заменит доку, форумы для этого не предназначены. В любом случае это чисто его проблемы.

Хотя конечно
Цитировать
Учиться легко - переучиваться трудно
Он же там на билдере уже все постиг..


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: sergek от Август 31, 2020, 10:07
(http://)
и так хочу мониторить событие нажатия на кнопку и получать символ и модификаторы, в поле lineEdit  
...
походу не умею я задавать глупые вопросы ...  но надеюсь вышло ...
Не вышло.. Приходится догадываться: вы хотите при нажатии кнопки получить значения клавиш-модификаторов и текст из строчного редактора? Тогда, посмотрите, наконец мой пример.
Код
C++ (Qt)
void MainWindow::onPressSlot() {
   int key = QApplication::keyboardModifiers ();
   ui->label->setText(QString("Pressed button with %1. Text: %2").arg(key, 0, 16).arg(ui->lineEdit->text()));
}
 
2all - человек, видимо, сильно переработал, или к доктору...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 01, 2020, 01:40
Igors, пройдите мимо вы флудите , я прочел 2 книги забавный пример там есть как у окна опрашивать клавиши  но вот с окном проще ты и так конструктор пишешь ... а вы так и не вкурили в вопрос .. пройдите мимо

Igors, я сам перешел с билдера много лет назад, мне было тяжело, я еще лет 5 потом из себя выкореживал те паршивые подходы, которые прививает билдер. Я тогда прочитал весь этот форум, чтобы научиться Кьюту. Но, блин, я не работал программистом и мог это себе позволить (когда тебе 20 у тебя больше свободного времени, чем когда тебе 30+ и семья), а когда тебе нужно деньги зарабатывать, тут приходится иногда тупить и лезть на форумы с дебильными вопросами в надежде, что хоть кто-то тебе поможет.
Ну ситуация почти верно описана , в действительности я натекущий момент могу уделять не боле 1-2 часа в день ... так как на текущий момент я не вижу никаких приемуществ в Qt и вообще не разу не встречался с требованием заказчика о разработке именно на Qt он мне нужен как длинный хвост ёжику , но по скольку япишу на всем и стараюсь знать все среды решил заняться данным вопросом темболее есть проект кторый нужносделать кновому году срок большой прога мелкая и уже н аписнаа страховочная версия на билдях ... но оч хочется это сделать на Qt чтоб ы оценить разницу...

(http://)
и так хочу мониторить событие нажатия на кнопку и получать символ и модификаторы, в поле lineEdit  
...
походу не умею я задавать глупые вопросы ...  но надеюсь вышло ...
Не вышло.. Приходится догадываться: вы хотите при нажатии кнопки получить значения клавиш-модификаторов и текст из строчного редактора? Тогда, посмотрите, наконец мой пример.
Код
C++ (Qt)
void MainWindow::onPressSlot() {
   int key = QApplication::keyboardModifiers ();
   ui->label->setText(QString("Pressed button with %1. Text: %2").arg(key, 0, 16).arg(ui->lineEdit->text()));
}
 
2all - человек, видимо, сильно переработал, или к доктору...

Спасибо но это почти пример из книги ...

я еще раз попробую задать вопарос ... но уже прям на уровне форума по VBS

И да хочу это все сделать в ДИзайнере
1- создать форму
2- положить на нее Lineedit / Text и пофиг что но первое предпочтительнее
3- написать обработчик "СЛОТА"/события нажатия клавиш в нутри , к примеру я хочу запретить вводить символ "Q" ну и по пути нажатую кнопку писать в label

Все ... и главное все через дизайнер


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 01, 2020, 03:57
В общем нашел ответ тут : https://stackoverrun.com/ru/q/7443050 (https://stackoverrun.com/ru/q/7443050)

Но судя по ветке там обсуждается Qt4

Вопрос в текущем релиз еточно та же проблема осмотра гланд через анальное отверстие ?

получается что ядолженписать "фильтр" глоьбальный обработчик событий и миллион кода "банальности" своими ручками , тогда вопрос на кой Х...Р вообще данный IDE?

Ведь самая важна ясуть это наглядное планирование дизайна ?...


Я еще раз задаю вопрос МОЖЕТ Я ЧТОТО НЕ ЖДОГНАЛ ... но яуже прочел 2 книги , перерыл пачку форумов на руском (почти вс ебестолку) и стопку на языке шекспира ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Сентябрь 01, 2020, 07:28
Тебя сбивает  с толку Билдер - дизайнер нужен только для того, чтобы "нарисовать" интерфейс. То поведение, которое тебе нужно, к нему никак не относить - это логика приложения, которая должна быть написано тобой. Билдер делал это за тебя, и скрывал от тебя все то, что делал. Тут же ты получаешь полный контроль, но и писать придется немного больше. В Qt3 в дизайнере можно было писать код - но от этого отказались ибо это неправильный подход.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Сентябрь 01, 2020, 07:29
Faster, будь повежливее к участникам форума - ты действительно задаешь вопросы, на которые очень легко найти ответ самостоятелно, поэтому некоторый справедливо негодуют.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 01, 2020, 08:35
Я очень вежлив вроде как ...


так далее я должен как я и говорил создавать свой класс от родителя QlineEdit и в нем расприватив KeyPress с ним работать ... хорошо то как тогда мой клас сунуть и расместить в дизайнере ?

я не понимаю почему у меня баня не через дорогу отраздивалки а в другом городе ? причем тут билдя VC все так же просто хоть и пишется руками но в дизайнере все можно раставить


в общем походу я сделал выводы по Qt и они т еже что и о QT ... просто столько проблем на ровном месте  в самой банальности .. я даже не знаюза чем еще может существовать Line Edit если не для обработки ввод...

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

за ранее приношу извенения за то что пришели нагадил ... но мои ожидания были совеншенно другими ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Сентябрь 01, 2020, 09:35
Лови пример: левый эдит работает через сигнал/слот, правый через ивенты.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Сентябрь 01, 2020, 09:38
И еще советую почитать Крылова "Мартышка и очки". Крайне полезная басня.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Igors от Сентябрь 01, 2020, 10:22
так далее я должен как я и говорил создавать свой класс от родителя QlineEdit и в нем расприватив KeyPress с ним работать ... хорошо то как тогда мой клас сунуть и расместить в дизайнере ?
Вы упорно стремитесь к сценарию типа "дизайнер все делает, нужно только дописать небольшие "вкрапления" своего кода". В Qt этого нет, и это правильно. "Визуальное программирование" (или "формошлепство") - достаточно спорная вещь, хотя бы судя по этой теме :)

Далеко не все, и не всегда, юзают Qt дизайнер. Начните "от печки", создайте окно, в нем виджеты. Отравняйтесь лайаутами. Добавьте "бизнес-логику" сигналами. Забудьте дизайнер и позорное слово "форма". Все прекрасно получится, без всякого наследования. Единственная трудность - пере/само оценка. Ведь Вы уже опытный программизд, а тут разбираться с "совершенно элементарными" вещами :)

Вероятный вопрос: а зачем мне все это если сейчас я могу сделать то же в 100 раз быстрее? Ответ: ни к чему. Если нет др интересов кроме как клепать "формы" с пулеметной скоростью - Qt Вам не нужен.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Сентябрь 01, 2020, 13:01
Дизайнер хорош для простых форм, но для главного окна я часто наталкивался на ограничения.
Другое дело, что юзкейз автора делается и с дизайнером, он просто не к тому методы приконнектился потому что не разобрался в сигналах и эвентах.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Mikhail от Сентябрь 01, 2020, 13:14
Если очень хочешь "засунуть свой класс в дизайнер" создай на его основе плагин для дизайнера и будет тебе счастье.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 02, 2020, 03:43
Лови пример: левый эдит работает через сигнал/слот, правый через ивенты.

ЕЩЕ РАЗ БОЛЬШОЕ СПАСИБО, за терпение и возюкание со мной ...
и так впринципе ты (надеюсь можно ) подтвердил то о чем я говорил ноне мог объяснить
либо я варю обработчик событий :
Код:
ui->lineEditEvents_->installEventFilter(this);

либо я вынужден отказаца от визуального редактора потом что все адекватные эвенты :
(https://i.ibb.co/d4gf2vX/image.png) (https://ibb.co/d4gf2vX)
Седят в protected
ну или вытасукивать их через создание потомка класа и выуживанием в паблик эти эвенты ...

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

в общем итог либо ты пишшеь много кода , либо отправляешь на свалку дизайнер и опять же таки пишешь много кода ...
и этоглавнейшая проблема Qt вообще даже страшнее отсутсвия сборки в один файл ... я все таки планирую по тихо продолжать смотрть в этомнаправлении но увы констатирую факт Qt на текущий момент является отсталой технологией не позволяющей :
1- делать быструю разработку
2- имеющую непонтнуб логику "оно есть - но чтобы взять надо выполнить квест походу которого вы чего то лишитесь"
3- отсутсвие встроенных средств сборки всего в 1 exe файл как я выяснил и в лине та же ботва , нужнотащить все либы за собой

про плюсы молчу ибо эти минусы просто сводят их на нет ...

готов к швырянию в меня какашками ...
И еще советую почитать Крылова "Мартышка и очки". Крайне полезная басня.
Басня хороша .. но не к месту ... тут скорее всего стоит вспомнить мультик "почему у льва большая грива"

так далее я должен как я и говорил создавать свой класс от родителя QlineEdit и в нем расприватив KeyPress с ним работать ... хорошо то как тогда мой клас сунуть и расместить в дизайнере ?
Вы упорно стремитесь к сценарию типа "дизайнер все делает, нужно только дописать небольшие "вкрапления" своего кода". В Qt этого нет, и это правильно. "Визуальное программирование" (или "формошлепство") - достаточно спорная вещь, хотя бы судя по этой теме :)

Далеко не все, и не всегда, юзают Qt дизайнер. Начните "от печки", создайте окно, в нем виджеты. Отравняйтесь лайаутами. Добавьте "бизнес-логику" сигналами. Забудьте дизайнер и позорное слово "форма". Все прекрасно получится, без всякого наследования. Единственная трудность - пере/само оценка. Ведь Вы уже опытный программизд, а тут разбираться с "совершенно элементарными" вещами :)

Вероятный вопрос: а зачем мне все это если сейчас я могу сделать то же в 100 раз быстрее? Ответ: ни к чему. Если нет др интересов кроме как клепать "формы" с пулеметной скоростью - Qt Вам не нужен.
Отвечаю на ваш вопрос,  я оч много лет работаю на фрилансе , как соло так и в рабочих группах последние года я немного переквалифицировался в Промышленногопрограмиста  но в свое время писал корпоративный софт
приведу тебе просто пример , софтина огромная 20 разных рабочих модулей (бухи, склад и прочее) я писал часть взаимодействия с SQL  тоесть прокладку работы с базой данных которая отслеживала  связи перекрестные ссылки ипрочее в общем вся движка ... я сделал и отладил это за 2 недели ... чувак другой писал отчеты конструктор и и прочее он это сделал за месяц ,  при этом каждый для себя накидывал интерфейс ... нетратят на это время ... а уже потом отдельный человек согласовывая с заказчиком разрабатывал то что тот хотел видеть розовые кнопочки и красивые темы ... и на это ушел год поделок и переделок и да это был VC а тамнет проблем с обработкой банальности :)

так далее мне нет смысла тратить время на прописывания фигни ...

ну и возникает вопрос на кой ЛАД тогда нужен редактор если его использование не считатеся хорошим тоном и вообщ ене поддерживается  адекватно ?
почему фактически основное седит в привате ?

где логика ...
Дизайнер хорош для простых форм, но для главного окна я часто наталкивался на ограничения.
Другое дело, что юзкейз автора делается и с дизайнером, он просто не к тому методы приконнектился потому что не разобрался в сигналах и эвентах.
вы ошиблись я много програмирую в лине , правда все что я делаю обычно работает в консоли или демонами и оконного интерфейса там нет ...
подход с слотами мне знаком а про события я вообще молчу ... но чет я не помню чтобы хотьраз мне приходилось основопологающее событие из какой либо либы выуживать через отладчик ... (корявая аналогия с private) хотя конечно такое делал ... но скорее для развлекухи...
Если очень хочешь "засунуть свой класс в дизайнер" создай на его основе плагин для дизайнера и будет тебе счастье.
Могу ли я процетировать тебе то как дали ответ на такую рекомендацию на одном из англоязычных форумов ..
why don`t I then write my own libraries to bury Qt ?????

в общем я согласен ...  примерно если перевести то "почему бы мне не сделать свои либы чтобы похоронить Qt"

имеется в виду не использовать ...

Я еще раз извеняюсь если груб но подумайте самикак стыдно задаватиь такой вопрос и тепретька ктебятыкают в лоток с наполнителем ...
Отдельное спасибо Пантер`у единсвенный кто пытался помочь ...

p.s.и да сейчас 90 % времени уходит именно на создание интерфейса ... и увы если вы комерческий разработчик а не любитель вы это должны знать так как софт это  вопервыхтоварлецом а уж во вторых функционал

p.p.s Igors, а можнопару примеров софтины где в принципе не нужен интерфейс и клепание форм а 99% уходит именно на разработку кода процесса исполнения (игры не считаем ибо QT для этого вообще не торт) какойто спец сфот математика ? статистика ? сколько вы такого софта написали ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Пантер от Сентябрь 02, 2020, 07:22
Я до сих пор не понял, зачем тебе нужны ивенты. У QLineEdit есть набор сигналов, которые покрывают все юзкейсы использования, с которыми я сталкивался. Напиши мне конкретный кейс, который ты не можешь сделать на сигналах/слотах?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые
Отправлено: Пантер от Сентябрь 02, 2020, 08:22
Кстати, после перехода с билдера на Qt я первые пару лет вообще не пользовался дизайнером, создавал все в коде, чтобы привить себе понимание того, как все это работает на самом дела. Потому что с Билдером я не знал ни что такое события, ни откуда они берутся, ни что такое event loop - я умел только мышкой натыркать контролов, стырить код из сборников FAQ, коих было немеряно и как-то это все запустить. Стоит ли говорить, что качество софта, а самое главное, качество моих знаний было чуть выше чем никакое. Это как php - ты можешь быстро клепать формы, но это не делает тебя программистом. Собственно, у ТС сейчас проблема - он пытается выбраться во взрослый мир из своего детского сада, где ему Билдер даже попу подтирает.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: kuzulis от Сентябрь 02, 2020, 08:44
Блин, тяжело читать тот поток сознания, да еще с кучей ошибок (это как бы неуважение ко всем кто будет читать это), брр.
Да и тему я бы перенес в "говорилку", т.к. смысла ей тут быть не вижу, т.к. она скатилась уже сами знаете куда.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: sergek от Сентябрь 02, 2020, 10:27
Блин, тяжело читать тот поток сознания, да еще с кучей ошибок (это как бы неуважение ко всем кто будет читать это), брр.
Да и тему я бы перенес в "говорилку", т.к. смысла ей тут быть не вижу, т.к. она скатилась уже сами знаете куда.
Нет ни одного правила общения в форумах, который бы этот "программист" не нарушил. К доктору. Пантер, не трать на него своего времени, вдруг он здесь останется, и опять придется здесь видеть его "срач".


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Igors от Сентябрь 02, 2020, 11:33
Нет ни одного правила общения в форумах, который бы этот "программист" не нарушил. К доктору. Пантер, не трать на него своего времени, вдруг он здесь останется, и опять придется здесь видеть его "срач".
Вы чересчур строги, товарищ просто переоценивает свой опыт, ну этим грешат все. Увидев новую вещь, он требует/ожидает что она - такая же как та что он уже владеет. А если нет (а оно конечно нет) - то это говно. Логика очень простая.

p.s.и да сейчас 90 % времени уходит именно на создание интерфейса ... и увы если вы комерческий разработчик а не любитель вы это должны знать так как софт это  вопервыхтоварлецом а уж во вторых функционал
Я очень доволен что (во многом благодаря Qt) доля UI у меня менее 10% и я могу сосредоточиться на содержательной части.

p.p.s Igors, а можнопару примеров софтины где в принципе не нужен интерфейс и клепание форм а 99% уходит именно на разработку кода процесса исполнения (игры не считаем ибо QT для этого вообще не торт) какойто спец сфот математика ? статистика ? сколько вы такого софта написали ?
Сколько окон в моем теперешнем приложении - не считал, ну десятков 5 может будет. В основном это разнообразные редакторы, в которых юзер манипулирует с 3D объектами, напр покрасить объект "кисточкой". Конкретно сейчас занимаюсь переводом  операций выборки (picking) точек и полигонов с CPU на GPU. Формально - тоже UI, но никакого отношения к виджетам не имеет. Да, новые окна появляются, переделываются старые, но UI - наименьшая из проблем. Дело не в том "как сделать табличку", а в том "что в ней должно быть", т.е. ф-ционал

Другой проект (мой любимый) - чисто рендер. Там вообще 1 окно + диалог преференсов, вот и все UI.

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


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Сентябрь 02, 2020, 14:00
либо я вынужден отказаца от визуального редактора потом что все адекватные эвенты :

Вам уже 10й раз пишут - вам не нужны эвенты, вам нужны сигналы. Нельзя сделать connect на эвент. Как нельзя сделать на переменную или макрос. Это разные сущности.
mousePressEvent(), mouseReleaseEvent() - это обработчик эвента (эвент - это объект, посылаемый другому объекту). Он низкоуровневый и туда надо лезть только если хнаешь что делаешь. Эти низкоуровневые обработчик испукают высокоуровные сигналы
clicked(), pressed(), released() к которым можно (и нужно) делать connect().
Сигнал-слоты - это механизм коллбеков, где слот - это ваш коллбек, а сигнал - специальная функция, которая вызывает все присоединенные коллбеки. Они даже называются по-другому, я не зря выделил жирным. Глагол в прошедшем времени - это имя сигнала к которому можно делать коннект. Всё иное - рандомная функция которую кто-то где-то зовет и к которой нельзя делать коннект.
Пока вы не поймете разницу между сигналами и обработчиками эвентов, вы далеко не уедете. Это разные сущности которые хоть и связаны, но выполняют разные задачи.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 03, 2020, 02:20
Я до сих пор не понял, зачем тебе нужны ивенты. У QLineEdit есть набор сигналов, которые покрывают все юзкейсы использования, с которыми я сталкивался. Напиши мне конкретный кейс, который ты не можешь сделать на сигналах/слотах?
Давай поясню как я на это вышел . для утилки что янаписал нужна строчка куда человек должен  чтотописать
конкретно команды "аля консоль" , по скольку я приверженец простоты у человека при написании reg долно подсвечиваться register

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

на билде задача решается эвентом обработки нажатия клавиши где я делаю Send(sym); а её результат наоборот возвращаю как символ ...
все 2 строчки кода решают всю задачу
тут же я должен нарисовать пачку бестолкового кода ...

простота залог успеха ...

кстати поэтому поводу на англофорумах по Qt срачь нормальный и огромное количество тех тко не понимает почему так ... а не проще ... и есть ответ "так исторически сложилось" ...

вот смотри :
Код:
bool MainWindow::eventFilter(QObject *watched, QEvent *event)
{
    if (watched == ui->lineEditEvents_) {
        auto ev = dynamic_cast<QKeyEvent*> (event);
        if (ev) {
            ui->labelEvents_->setText(ev->text());
        }
    }
}
и вот :
Код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
this->Label1->Caption=Key;
}

Почуствуй разницу ... Use Less
Кстати, после перехода с билдера на Qt я первые пару лет вообще не пользовался дизайнером, создавал все в коде, чтобы привить себе понимание того, как все это работает на самом дела. Потому что с Билдером я не знал ни что такое события, ни откуда они берутся, ни что такое event loop - я умел только мышкой натыркать контролов, стырить код из сборников FAQ, коих было немеряно и как-то это все запустить. Стоит ли говорить, что качество софта, а самое главное, качество моих знаний было чуть выше чем никакое. Это как php - ты можешь быстро клепать формы, но это не делает тебя программистом. Собственно, у ТС сейчас проблема - он пытается выбраться во взрослый мир из своего детского сада, где ему Билдер даже попу подтирает.
Не мы говорим о разных вещах, я как бы и на Асемблере пишу ине поверишь даже с винждой общаться приходится , так что и как работает я в курсе ... писал ине раз процессына скорость расчитанные ... правда с каждым годом этовс еменее нужно ... а с учетомтого тчо я много пишу под линь дезайнер мне кабы вообще не нужен но он есть ... а значит ...

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


Нет ни одного правила общения в форумах, который бы этот "программист" не нарушил. К доктору. Пантер, не трать на него своего времени, вдруг он здесь останется, и опять придется здесь видеть его "срач".

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

Igors, поздравляю вы те 10 % которымтакое прошло ... а теперь представь что у тебя 400 форм в 20 разных функциональных модулях ...
и 90% г...о UI, и все твои плюсы валятся в минусы .. банас то ХДЕ ...

и да не разу не писал ничегодля бизнеса с 3д :) так баловался директом но по сутине разу не потребовлаось

Авварон, спаисбо панетр все обьяснил и я все понял но вы не поняли что я ищу "не как сделать" а ответ на вопрос "в чем логика" ..


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



Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Сентябрь 03, 2020, 02:43
ответ на вопрос "в чем логика" ..


Логика в том что эвент посылается объекту. Например QMouseEvent посылается виджету под мышкой, а QKeyEvent - объекту в фокусе. Ключевое - объект всегда известен.
Сигнал же посылается "в никуда" - когда кнопка эмитит сигнал pressed() она не знает кто к ней приконнекчен, сколько их и приконнекчен ли кто-то. Она просто посылает сигнал. Если есть подписчики - хорошо, нет подписчиков - тоже хорошо. Таким образом обеспечивается разделение интерфейсов объектов - у одного объекта есть сигналы, у другого - слоты и они друг о друге вообще ничего не знают.
Можно ли сделать это на эвентах? Можно - объект мог бы посылать сам себе эвент QClicked а мы бы его ловили через эвент фильтр. Но это неудобно, потому что вместо функции с нулем-двумя параметрами пришлось бы делать миллиард мелких структур-событий.
Посмотрите на количество сигналов у некоторых классов и прикиньте если бы на каждый метод была бы своя структура.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 03, 2020, 03:00
Логика в том что эвент посылается объекту. Например QMouseEvent посылается виджет под мышкой, а QKeyEvent - объекту в фокусе. Ключевое - объект всегда известен.
Сигнал же посылается "в никуда" - когда кнопка эмитит сигнал pressed() она не знает кто к ней приконнекчен, сколько их и приконнекчен ли кто-то. Она просто посылает сигнал. Если есть подписчики - хорошо, нет подписчиков - тоже хорошо. Таким образом обеспечивается разделение интерфейсов объектов - у одного объекта есть сигналы, у другого - слоты и они друг о друге вообще ничего не знают.
Можно ли сделать это на эвентах? Можно - объект мог бы посылать сам себе эвент QClicked а мы бы его ловили через эвент фильтр. Но это неудобно, потому что вместо функции с нулем-двумя параметрами пришлось бы делать миллиард мелких структур-событий.
Посмотрите на количество сигналов у некоторых классов и прикиньте если бы на каждый метод была бы своя структура.

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

я не против слотовой системы , в лине на ней все построено и это как бы нормально даже удобно но какого лешего банальная задача делается только через создание ГЛОБАЛЬНОГО фильтра всех событий ? бред

вотсижу тыкаю и гнашел еще один вопрос : как у формы моей мсоздать свой слот чтобы его было видно из дезайнера ?
Код:
public slots:
    void MySlot(const QString &t);

Код:

public Q_SLOTS:
    void MySlot(const QString &t);

оба не видятся в дезайнере ...

или это вообще так сказть"дизайнер чтобы было " ?



UPD: Вопрос снят , нашел где дл ядизайнер аэто прописывать

получается :
1- создаем слот в хедере
2-описываем его в сорце
3- тыкаем в создание слотов дизайнера и пишим его там ручками ибо даже ctrl+v тамне пашет , а отпарсить секцию в хедере религия н епозволяет
4- в редакторе его добавляем

все работает ..

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

новсе же мне интересно неужелине возможнг без евент фильтра КНОПОЧКУ ОПРОСИТЬ ... рою дальше буржуйские форумы ... вот угораздило же задаться таим простым овпросом ... как в текстовомполе кнопочку перехватить ....


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 03, 2020, 03:37
Не ну я вообще походу буду хейтером Qt ... нет ну честно
Вот же чел Секс отхватил : https://overcoder.net/q/867581/как-отловить-нажатия-клавиш-в-редактируемом-qtablewidgetitem (https://overcoder.net/q/867581/как-отловить-нажатия-клавиш-в-редактируемом-qtablewidgetitem)

Место простое как 2+2, и тут такое адовое решение , не народ ну честно ...  банальщина прехат кнопок в табличке ... ну ... я та кпонимаю капну глубже вообще в осадок выпаду ...

Ура нашел огромную тему с тем же влопросом что и у меня , ипримернотой же задачей ПАЦАН писал терминал :) и ему нужно было скажем так не просто получать клавиши а например некоторые символы заставлятькомпонент игнорировать...

в общем ответ тако " реализация без полного переписвания класса не возможна , так как система сигналов ислотов не подразумевает обратной передачи каких либо параметров что являеется несравненным минусов посравнению с событийной системой , которая так же присутсвует в Qt но скрыта за семью печатями и выполнена в зачаточном состоянии.... так же вообще забудь об Qt Designer"

не цитатта , вольный перевод ...

тоесть в принципе не возможно получить символ орпаботать его и вернуть то что я желаю в место него .... не можно ПАРСИТЬ весьтекст зная где курсор в общем смотреть н агланды через анальное отверстие ... ух как ...

20 часов Qt а уже ощущение как от контроллеров феникс контакт ... второй раз в жизни ...


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Авварон от Сентябрь 03, 2020, 03:59
какую задачу-то вы решаете? перехватить нажатие кнопки в дизайнере? ну так нельзя. еще в дизайнере нельзя писать на дельфи. и на ассемблере нельзя. и даже на яваскрипте нельзя.
прикладная-то задача какая? просто хоцца? я уже не помню когда я ловил нажатия кнопок руками - это ни зачем не нужно.
если вам нужен шорткат, то это делается через QAction (который внезапно! кинет сигнал) а не через перехват нажатий.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 03, 2020, 04:24
не буду описывать все но вот конкретно по перехвату

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

у  нее есть цать режимов работы . один из них командный

есть текстовое поле там под ввод команды , оч желательно с предсказанием  подсветкой синтаксиса и прочими прелестями современности
а так же там можно отдавать прямые сигналы(непосредственные)  у меня они реализованы (хотел но не смог ) через ctrl/alt/shift+0..f это отправляет на устройство команду установить /сбросить/ инвертировать нужный бит соттветсвенно, но на вводе это отображаться не должнои в место shift+f =F должно быть "" и никакой реакции вот в общем то тот момент на котором я стал озадачиваться данной проблемой...

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

нет не можешь ибо что в билде что в VC интеграция JS это целый квест , на VC чет у меня так адекватно и не работает .. а вот в Qt прям пулей да и еще встроеное взаимодействие с объектами на сях супер... чего я вообще не ожидал и считаю это ЭПИК КРУТОСТЬЮ что движка берет на себя эту нудятину .. а вот банальный подмен символа на вводе Фэйлится ...
да я уже придумал как это все обойти через ввод с формы и имитацию ввода в поле без его фокуса .. но это такой извращенный процесс ... а извращения это не мой конек хотя и приходилось ...

и у меня в голове не вяжется как такая крутость стакой тупостью могут жить рядом

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

затык в простых вещах при класной реализации сложных .. уму не постижимо


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Old от Сентябрь 03, 2020, 08:31
есть текстовое поле там под ввод команды , оч желательно с предсказанием  подсветкой синтаксиса и прочими прелестями современности
а так же там можно отдавать прямые сигналы(непосредственные)  у меня они реализованы (хотел но не смог ) через ctrl/alt/shift+0..f это отправляет на устройство команду установить /сбросить/ инвертировать нужный бит соттветсвенно, но на вводе это отображаться не должнои в место shift+f =F должно быть "" и никакой реакции вот в общем то тот момент на котором я стал озадачиваться данной проблемой...
Не понятно, прямые команды должны исполняться сразу при нажатии комбинации клавиш или добавляться в набираемую команду (без отображения в редакторе)?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 04, 2020, 06:23
есть текстовое поле там под ввод команды , оч желательно с предсказанием  подсветкой синтаксиса и прочими прелестями современности
а так же там можно отдавать прямые сигналы(непосредственные)  у меня они реализованы (хотел но не смог ) через ctrl/alt/shift+0..f это отправляет на устройство команду установить /сбросить/ инвертировать нужный бит соттветсвенно, но на вводе это отображаться не должнои в место shift+f =F должно быть "" и никакой реакции вот в общем то тот момент на котором я стал озадачиваться данной проблемой...
Не понятно, прямые команды должны исполняться сразу при нажатии комбинации клавиш или добавляться в набираемую команду (без отображения в редакторе)?

Прмяое управление , так далее прям сейчас ... нажал сработало ... правда тампредпологается наличие некоторых условий но это уже глубоко


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Old от Сентябрь 04, 2020, 07:05
Прмяое управление , так далее прям сейчас ... нажал сработало ... правда тампредпологается наличие некоторых условий но это уже глубоко
И вы реализуете это поведение прямо в виджете редактора? Вы считаете это его задача?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 04, 2020, 07:28
А почему нет ?
1- есть фокус есть работа
2- еслиего задизаблить то и "хоткеи" работать не будут
да и сами хоткеи меняюся в зависимости от условий

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


а в чем вы видите его назначение, ввести текст и считать его ?


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Old от Сентябрь 04, 2020, 07:49
а в чем вы видите его назначение, ввести текст и считать его ?
Конечно.
А что если завтра заказчик вас попросить добавить toolbar с кнопками, выполняющими такие операции? Вы его тоже в виджет редактора будете пытаться добавить? Это у вас вызовет еще больше сложностей.


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 04, 2020, 09:39
нУ в чем проблема то ? у меня уже реализованы функции с их релаизациями .. точне одна ...
а вот заказчик тут я .. я бы никогда под заказ не стал писать софт в новой среде ...  это просто тупо ... я делаю утилиту для работы с контролерами с идеей последующего её выкладывания для всех ... вот и решил для комьюнити в Qt сделать  и вуаля ...

а вы рьяный защитник я погляжу


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Old от Сентябрь 04, 2020, 09:51
а вот заказчик тут я .. я бы никогда под заказ не стал писать софт в новой среде ...  это просто тупо ... я делаю утилиту для работы с контролерами с идеей последующего её выкладывания для всех ... вот и решил для комьюнити в Qt сделать  и вуаля
Что вуаля? :)
Оставьте редактору задачу редактирования текста и попробуйте использовать для активации быстрых функций QShortcut. Их можно положить в коллекция и быстро выполнять enable|disable.
Выбирайте средства под задачу и тогда все будет легко и просто.

а вы рьяный защитник я погляжу
А в чем моя "рьяность" проявлятся? :)


Название: Re: JS в приложении на Qt/Ком порты/ и прочие глупые вопросы
Отправлено: Faster от Сентябрь 07, 2020, 08:26
Old, свобода это когда т ыделаешь то что от тебя хотя и как хотя но считаешь это только своим выбором ...

Ну а авто подстановка , ипрочие прелести... боже я что на VC что на Блилде это могу сделатьпочему в Qt это считается анальностью ?

да я даже этомогу сделать на VBS в эксель встроенный а тут это задача из вон выходящая ....

Рьяный ... все