Size: a a a

2021 January 23

k

kin63camapa in Qt
а у меня дебильный-дебильный вопрос я тут зафигачил плагин но он юзает классы из тех что вкомпилены в саму прогу соответсвенно придется сделать их библиотеками... а можно в качестве либы сам исполняемый файл заюзать?
источник

k

kin63camapa in Qt
foo.h
#include <QtPlugin>
#include mytype.h
class Foo
{
public:
   virtual MyType *func() = 0;
};
Q_DECLARE_INTERFACE( Foo , "any");

plugin/plugin.h
#include "mytype.h"
#inckude "foo.h"

class FooPlugin : public QObject, public Foo
{
   Q_OBJECT
   Q_INTERFACES( Foo )
public:
   FooPlugin();
   MyType *func() override;
};

plugin/plugin.cpp
MyType *FooPlugin::func()
{
   MyType * t = new MyType();//вот тут оно сегфолтится по тому что конструктор то в плагин не вкомпилен толко определние
   return t;
}


ну это очень отжато

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

МВ

Макс Воробьев... in Qt
kin63camapa
а у меня дебильный-дебильный вопрос я тут зафигачил плагин но он юзает классы из тех что вкомпилены в саму прогу соответсвенно придется сделать их библиотеками... а можно в качестве либы сам исполняемый файл заюзать?
лучше либу отдельно вынеси
источник

МВ

Макс Воробьев... in Qt
и тесты добавить проще будет
источник

k

kin63camapa in Qt
Макс Воробьев
лучше либу отдельно вынеси
ну как это нужно делать я догадываюсь в порядке бреда такое технически возможно?
источник

МВ

Макс Воробьев... in Qt
kin63camapa
ну как это нужно делать я догадываюсь в порядке бреда такое технически возможно?
простейший вариант - main отдельно, остальное - отдельно
источник

k

kin63camapa in Qt
ну кстати тоже думал
источник

k

kin63camapa in Qt
много софта так и пишется я так понимаю))
источник

МВ

Макс Воробьев... in Qt
по Qt плагинам - хз, но можешь на gtk gnome-builder посмотреть. там отдельная libide
источник

МВ

Макс Воробьев... in Qt
или покопаться в плагинах QtCreator
источник

МВ

Макс Воробьев... in Qt
kin63camapa
много софта так и пишется я так понимаю))
не. это просто простейший вариант)
источник

k

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

МВ

Макс Воробьев... in Qt
kin63camapa
ну с плагинами я вроде разобрался просто если я достигну того что хочется софтине с достаточно сложными абстракциями придеся оперировать я боюсь что щас  цепочкой потянется что почти все в либы вынести придется
и это не самый худший вариант. п с - если используешь qmake - сразу переходи на смаке
источник

k

kin63camapa in Qt
это попытка сисадмином написать в свободное от работы время маленькую но гордую скаду)))
источник

k

kin63camapa in Qt
там реально очень много мелких либ получится тогда
источник

k

kin63camapa in Qt
то есть модули которые собираются из модулей которые опять же собираются из модулей и тд пока не надоест))) монолитом это куда проще, но будет совершенно нерасширяемо и немодифицируемо
источник

ПК

Побитый Кирпич... in Qt
У меня сейчас написано:
someStr = someVariant.toString();


Есть ли в Qt шаблон/метод, который будет выглядеть как то так?
someStr = fromVariant<QString>(someVariant);

Чтобы диспатчинг был не по имени метода (toString, toInt и т.д.), а по типу (QString, int, и т.д.)
источник

МВ

Макс Воробьев... in Qt
Побитый Кирпич
У меня сейчас написано:
someStr = someVariant.toString();


Есть ли в Qt шаблон/метод, который будет выглядеть как то так?
someStr = fromVariant<QString>(someVariant);

Чтобы диспатчинг был не по имени метода (toString, toInt и т.д.), а по типу (QString, int, и т.д.)
источник

ПК

Побитый Кирпич... in Qt
О, походу оно, странно, что я сам не нашёл
источник

k

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