Size: a a a

2020 February 16

Е

Егор in Qt
Не подскажете как в QString заменить все accended символы (â, î ô и т.д) на их аналоги из ascii (a, i, o)? Погуглил пару решений, но ни одно не помогло, а просто QString::replace даже не распознает их.
источник

DB

Dmitry Berkut in Qt
Есть у кого-то в памяти интересные примеры использования метаобъектной системы? (кроме использования самим кьютом)
источник

Е

Егор in Qt
Dmitry Berkut
Есть у кого-то в памяти интересные примеры использования метаобъектной системы? (кроме использования самим кьютом)
Идеи или реальные проекты?
источник

DB

Dmitry Berkut in Qt
Проекты, использующие эту систему.
Или же отдельные куски функционала в библиотеках.

Что-то небольшое, полезное и со вкусом рефлексии
источник

I

Inttech in Qt
Привет всем, не подскажите можно ли сгладить линию построенную на точках QPainerPath в кьютах или это нужно отдельно реализовывать?
источник

AS

Anatoly Shirokov in Qt
Inttech
Привет всем, не подскажите можно ли сгладить линию построенную на точках QPainerPath в кьютах или это нужно отдельно реализовывать?
ты lineTo используешь для рисования? а antialiasing в самом QPainter установлен
? https://doc.qt.io/qt-5/qpainter.html#RenderHint-enum
источник

AS

Anatoly Shirokov in Qt
Dmitry Berkut
Есть у кого-то в памяти интересные примеры использования метаобъектной системы? (кроме использования самим кьютом)
я использую для мини ORM
источник

I

Inttech in Qt
Anatoly Shirokov
ты lineTo используешь для рисования? а antialiasing в самом QPainter установлен
? https://doc.qt.io/qt-5/qpainter.html#RenderHint-enum
устанавливал, наверное надо уточнить, мне нужно сгладить не саму отрисовку, а линию итоговую она чтоб не углами рисовала, путь, не особо понимаю arcTo и cubicTo как ими это сделать
источник

AS

Anatoly Shirokov in Qt
Inttech
устанавливал, наверное надо уточнить, мне нужно сгладить не саму отрисовку, а линию итоговую она чтоб не углами рисовала, путь, не особо понимаю arcTo и cubicTo как ими это сделать
можешь на примере показать что получаешь, что хочешь получить?
источник

DB

Dmitry Berkut in Qt
Anatoly Shirokov
я использую для мини ORM
Наверное, первое о чем подумал)
Есть ли она в открытом доступе?
источник

AS

Anatoly Shirokov in Qt
Dmitry Berkut
Наверное, первое о чем подумал)
Есть ли она в открытом доступе?
нет, надо придумать как из проприетарного проекта ее выцепить
источник

DB

Dmitry Berkut in Qt
Anatoly Shirokov
нет, надо придумать как из проприетарного проекта ее выцепить
Эх, жаль
Тогда можно ли поинтересоваться, в каких юз кейсах есть применение метаобъектов?
И почему метаобъекты в данном кейсе не могут быть заменены на что-то альтернативное?
источник

AS

Anatoly Shirokov in Qt
Dmitry Berkut
Эх, жаль
Тогда можно ли поинтересоваться, в каких юз кейсах есть применение метаобъектов?
И почему метаобъекты в данном кейсе не могут быть заменены на что-то альтернативное?
в метасистеме описываются таблицы, ключи, дескрипторы типов и т.п. это можно заменить на свой DSL и свой кодогенератор, в принципе.
источник

DB

Dmitry Berkut in Qt
Anatoly Shirokov
в метасистеме описываются таблицы, ключи, дескрипторы типов и т.п. это можно заменить на свой DSL и свой кодогенератор, в принципе.
Есть ли возможность посмотреть на сэмпл кода с применением?
источник

DB

Dmitry Berkut in Qt
Небольшой)
источник

AS

Anatoly Shirokov in Qt
Dmitry Berkut
Есть ли возможность посмотреть на сэмпл кода с применением?
Ну, например, есть сущность Language:
struct Language
{
private:
   Q_GADGET

   Q_CLASSINFO(ENTITY_TABLE_NAME, "language")
   Q_CLASSINFO(ENTITY_TABLE_KEY, "id")
   Q_CLASSINFO(ENTITY_TABLE_KEY_GENERATOR, ENTITY_TABLE_KEY_GENERATOR_NATURAL)

   Q_PROPERTY(QString id MEMBER id)
   Q_PROPERTY(QString name MEMBER name)

public:
   QString id;
   QString name;
};

ей управляет LanguageManager, который делегирует обобщенному коду базового класса конкретный тип:
Expected<QVariant> LanguageManager::saveEntity(QVariant v)
{
   Entity entity = v.value<Entity>();
   return EntityManager::save(entity);
}

ну и use case:
    QVariantList fillLanguageTable(LanguageManager &manager)
   {
       qDebug() << "Filling language table";
       QVariantList list;
       {
           Language lang;
           lang.id = "ru";
           lang.name = QString::fromUtf8("русский");
           if (auto maybeAdded = manager.saveEntity(QVariant::fromValue(lang)))
               list << maybeAdded.value();
       }
       {
           Language lang;
           lang.id = "en";
           lang.name = QString::fromUtf8("english");
           if (auto maybeAdded = manager.saveEntity(QVariant::fromValue(lang)))
               list << maybeAdded.value();
       }
       return list;
   }


```
источник

DB

Dmitry Berkut in Qt
Anatoly Shirokov
Ну, например, есть сущность Language:
struct Language
{
private:
   Q_GADGET

   Q_CLASSINFO(ENTITY_TABLE_NAME, "language")
   Q_CLASSINFO(ENTITY_TABLE_KEY, "id")
   Q_CLASSINFO(ENTITY_TABLE_KEY_GENERATOR, ENTITY_TABLE_KEY_GENERATOR_NATURAL)

   Q_PROPERTY(QString id MEMBER id)
   Q_PROPERTY(QString name MEMBER name)

public:
   QString id;
   QString name;
};

ей управляет LanguageManager, который делегирует обобщенному коду базового класса конкретный тип:
Expected<QVariant> LanguageManager::saveEntity(QVariant v)
{
   Entity entity = v.value<Entity>();
   return EntityManager::save(entity);
}

ну и use case:
    QVariantList fillLanguageTable(LanguageManager &manager)
   {
       qDebug() << "Filling language table";
       QVariantList list;
       {
           Language lang;
           lang.id = "ru";
           lang.name = QString::fromUtf8("русский");
           if (auto maybeAdded = manager.saveEntity(QVariant::fromValue(lang)))
               list << maybeAdded.value();
       }
       {
           Language lang;
           lang.id = "en";
           lang.name = QString::fromUtf8("english");
           if (auto maybeAdded = manager.saveEntity(QVariant::fromValue(lang)))
               list << maybeAdded.value();
       }
       return list;
   }


```
Спасибо, хороший пример
источник

I

Inttech in Qt
Anatoly Shirokov
Ну, например, есть сущность Language:
struct Language
{
private:
   Q_GADGET

   Q_CLASSINFO(ENTITY_TABLE_NAME, "language")
   Q_CLASSINFO(ENTITY_TABLE_KEY, "id")
   Q_CLASSINFO(ENTITY_TABLE_KEY_GENERATOR, ENTITY_TABLE_KEY_GENERATOR_NATURAL)

   Q_PROPERTY(QString id MEMBER id)
   Q_PROPERTY(QString name MEMBER name)

public:
   QString id;
   QString name;
};

ей управляет LanguageManager, который делегирует обобщенному коду базового класса конкретный тип:
Expected<QVariant> LanguageManager::saveEntity(QVariant v)
{
   Entity entity = v.value<Entity>();
   return EntityManager::save(entity);
}

ну и use case:
    QVariantList fillLanguageTable(LanguageManager &manager)
   {
       qDebug() << "Filling language table";
       QVariantList list;
       {
           Language lang;
           lang.id = "ru";
           lang.name = QString::fromUtf8("русский");
           if (auto maybeAdded = manager.saveEntity(QVariant::fromValue(lang)))
               list << maybeAdded.value();
       }
       {
           Language lang;
           lang.id = "en";
           lang.name = QString::fromUtf8("english");
           if (auto maybeAdded = manager.saveEntity(QVariant::fromValue(lang)))
               list << maybeAdded.value();
       }
       return list;
   }


```
вот две синие точки соеденены красной линией, вот хотелось бы скруглить углы
источник

AS

Anatoly Shirokov in Qt
Inttech
вот две синие точки соеденены красной линией, вот хотелось бы скруглить углы
Сплайн интерполяция?
источник

I

Inttech in Qt
Сплайн интерполяция?
источник