Russian Qt Forum
Апрель 20, 2024, 11:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 2 [3] 4 5 ... 290
31  Программирование / Общий / Re: Большой граф : Август 04, 2021, 10:56
А почему (или откуда) он должен "быть"? Не все в этой жизни сводится к тасканию "ис каропки" и усердному заучиванию справочника  Улыбающийся
Зачем же так передергивать? Улыбающийся
m_ax имел ввиду, что можно любую постановку задачи довести до абсурда, не имеющего приемлемого решения. Вот как сейчас. А можно вообще в требовании поставить, чтобы кадры рендерились с часотой 60 кадров секунду и продолжить важно страдать на форуме. Улыбающийся
32  Qt / Общие вопросы / Re: Мандатные метки : Июль 23, 2021, 17:22
Вы думаете что Россия купила лицензию на использование QT в военных системах?
Эти системы кому попало не продаются. Если буржуи что-то спросят - можно сослаться на секретность.
А для чего России покупать лицензию на Qt? Где написано, для каких целей можно использовать Qt? Улыбающийся
33  Qt / Вопросы новичков / Re: QTimer::singleShot и удаление объекта : Июль 10, 2021, 10:43
Просто добавьте объект QTimer в класс и при разрушении виджета разрушайте и таймер.
Что это изменит, если singshort является статической функцией?
Это позволит ее не использовать, т.к. она не управляемая после запуска.
34  Qt / Вопросы новичков / Re: QTimer::singleShot и удаление объекта : Июль 09, 2021, 17:37
Цитата: cpp
QTimer::singleShot(100, this, [this]
    {
            qDebug() << "singleshot";
            ui->Indicator->setValue(0);
    });

?
Захват указателя this никак не блокирует разрущение объекта. Это на shared_ptr. Улыбающийся
35  Qt / Вопросы новичков / Re: QTimer::singleShot и удаление объекта : Июль 09, 2021, 16:56
Просто добавьте объект QTimer в класс и при разрушении виджета разрушайте и таймер.
36  Qt / Многопоточное программирование, процессы / Re: Сохранение работы основного потока при падении дополнительных. : Июнь 21, 2021, 16:21
WatchDog же Улыбающийся
И что? Улыбающийся
Поняли что поток завис, что с ним дальше делать?
37  Программирование / Базы данных / Re: Хранение последовательности данных в mysql : Июнь 20, 2021, 16:09
Можно немного описания как реализовать? С sqlite работал очень мало. Спасибо
Я не увидел что у вас mysql, т.е. система хранения уже есть.
Наверное, такие выборки можно делать с помощью хранимых функций mysql.
38  Программирование / Базы данных / Re: Хранение последовательности данных в mysql : Июнь 20, 2021, 07:26
Воспользуйтесь sqlite.
39  Qt / Многопоточное программирование, процессы / Re: Сохранение работы основного потока при падении дополнительных. : Июнь 13, 2021, 11:38
Доброе время суток, Уважаемы гуру, прошу подсказать принцип организации стабильного консольного приложения на сервере.
Имеется три потока
 - "стабильный" основной поток запускающий остальные
 - поток со "стабильным" не меняемым кодом собирает информацию и должен работать при падении третьего
 - поток с нестабильным изменяемым и сложным кодом в котором возможно падение.

Какие есть механизмы для контроля и перезапуска третьего потока при падении, при условии постоянной работы второго потока ?
Можно перейти на микросервисную архитектуру - на каждую "работу" свой процесс.
Основной процесс запускает и контроллирует работу остальных процессов. Он может не только контроллировать, что запущенный им процесс еще активен (не упал), но и что он не завис.
Если дочерний процесс упал или повис, то основной может безопастно его убить и перезапустить.
Общаться все процессы могут через очередь сообщений (MQ), их много разных с разными возможностями.
Эта архитектура легко маштабируется в будущем, например если понадобится несколько процессов-добытчиков и несколько процессов-обработчиков.
40  Программирование / С/C++ / Re: чтение и запись битовых структур данных : Апрель 29, 2021, 15:12
вариант 1 (был выше):
Код:
for field in mystruct.orderedFields
  stream.write(field.size, field.value);
где orderedFields — массив ссылок/указателей на необходимые поля.

Наверное такое проще всего реализовать через базовый класс для структур:
Код
C++ (Qt)
class bit_field_base;
 
class bit_record
{
public:
 void reg_field( bit_field_base *field ) { assert( field ); m_orderedFields.push_back( field ); }
 
private:
 std::list<bit_field_base*>  m_orderedFields;
};
 
class bit_field_base
{
public:
 bit_field_base( bit_record &record ) { record.reg_field( this ); }
}
 
 
// =================================================
 
class DataRecord : public bit_record
{
public:
 DataRecord() : m_fld1( *this ), m_fld2( *this ), m_fld3( *this ) {}
 
private:
 bit_field<1> m_fld1;
 bit_field<2> m_fld2;
 bit_field<3> m_fld3;
};
 
41  Программирование / С/C++ / Re: чтение и запись битовых структур данных : Апрель 27, 2021, 20:40
А давайте попробуем придумать, как удобно можно описывать и использовать такие битовые структуры.
Вот один из возможных вариантов, так сказать для затравки (здесь пока все размеры полей задаются при компиляции):
Код
C++ (Qt)
 struct record
 {
   bit_field<1> flag;
   bit_field<4> mode;
   bit_field<9> address;
 
   bit_array pack() const
   {
     return ::pack( flag, mode, address );
   }
 
   static record  unpack( const bit_array &src )
   {
     record result;
     ::unpack( src, result.flag, result.mode, result.address );
     return result;
   }
 };
 
42  Программирование / С/C++ / Re: чтение и запись битовых структур данных : Апрель 27, 2021, 11:50
kambala, поясните пожалуйста, как с таким требованием:

Причем размер не всех полей известен на момент компиляции. Только точно известно, что не бывает полей шире, чем 64 бита.

вы планировали задавать размеры полей здесь?

Код
C++ (Qt)
template<N, S>
struct Field {
 bool v // if N == 1
 int8_t v // if N <= 8 && S=signed
 uint8_t v // if N <= 8 && S=unsigned
 ...
};

Устанавливать максимальным? Тогда теряется смысл с наглядностью.
43  Программирование / С/C++ / Re: чтение и запись битовых структур данных : Апрель 27, 2021, 08:47
Отсюда частенько делается вывод что, мол, для всего , и "все уже давно написано" Улыбающийся
Вы уже много лет делаете этот ошибочный вывод. Это не так. Улыбающийся
Но есть много проектов с интересными идеями, которые могут подтолкнуть. Не нужно тащить к себе и пытаться использовать все подряд, а просмотр может оказаться полезным.
44  Программирование / С/C++ / Re: Итераторы : Апрель 25, 2021, 11:05
Разве Вы не чувствуете что "порог сложности" давно уже пройден? Не нужно решение такой ценой, даже если оно 100% корректно.
Использование итераторов полностью разрывает порог сложности. И цена решения непомерна. Улыбающийся

Был бы умный человек, а о чем с ним поговорить - я найду, не переживайте  Улыбающийся
Потому что на целом форуме желающих почти не осталось. Улыбающийся
45  Программирование / Общий / Re: Ускорить : Апрель 25, 2021, 10:13
Двухсвязный список как раз позволяет очень быстро узнать предыдущий элемент.
Но вы то используете исключительно QVector. Грустный
Страниц: 1 2 [3] 4 5 ... 290

Страница сгенерирована за 0.113 секунд. Запросов: 23.