Size: a a a

2020 March 24

SE

Suigintou45 E13 in Qt
Vitaly Farmov
Окей, поймал, но вставки-то не произошло :)
а ты сначала поймай, а потом beginInsertRows
источник

AT

Anatoly Tomilov in Qt
понял
источник

МВ

Макс Воробьев in Qt
Vitaly Farmov
Добрый день.
Есть QAbstractListModel, в которой в одном из методов выполняется следующий псевдокод:
1. beginInsertRows(....)
2. // Emplacing some data to container
3. endInsertRows()

Вопрос следующий. Как гарантировать консистентность модели, если в строке 2 бросится исключение, которое мы поймаем в try/catch блоке, ведь метода по типу cancelInsertRows() мы не имеем?
template<typename Functor>

struct ExitScope {
private:
   Functor _scope_exit_functor;
public:
   ExitScope(Functor f): _scope_exit_functor(f) {}
   ~ExitScope() { if (_scope_exit_functor) _scope_exit_functor(); }
}
...
beginInsertRows(....);
ExitScope scope([this]() {
   endInsertRows();
}
// Emplacing some data to container
источник

МВ

Макс Воробьев in Qt
или как-то так
источник

AT

Anatoly Tomilov in Qt
в 0 вставляй во временную структуру, а в 2 swap
источник

AT

Anatoly Tomilov in Qt
Макс Воробьев
template<typename Functor>

struct ExitScope {
private:
   Functor _scope_exit_functor;
public:
   ExitScope(Functor f): _scope_exit_functor(f) {}
   ~ExitScope() { if (_scope_exit_functor) _scope_exit_functor(); }
}
...
beginInsertRows(....);
ExitScope scope([this]() {
   endInsertRows();
}
// Emplacing some data to container
в 1 диапазон уже указал
источник

VF

Vitaly Farmov in Qt
Suigintou45 E13
а ты сначала поймай, а потом beginInsertRows
а это корректно? По всем гайдам/рекомендациям вставку нужно осуществлять между вызовами этих функций
источник

AT

Anatoly Tomilov in Qt
в общем double buffer нужен
источник

SE

Suigintou45 E13 in Qt
Vitaly Farmov
а это корректно? По всем гайдам/рекомендациям вставку нужно осуществлять между вызовами этих функций
ну да, во временную структуру сначала, с отловом exceptionов. затем в основную переносить во 2 пункте
источник

VF

Vitaly Farmov in Qt
Так себе, конечно :(
Всем спасибо!
источник

РБ

Руслан Багров in Qt
Добрый день, друзья!
Подскажите, сюда можно выкладывать фото кода или только сам код?
Как бы смешно не звучало, нет выхода в интернет с компа..
источник

МВ

Макс Воробьев in Qt
Руслан Багров
Добрый день, друзья!
Подскажите, сюда можно выкладывать фото кода или только сам код?
Как бы смешно не звучало, нет выхода в интернет с компа..
т е фото кода с экрана?
источник

A

Albyc in Qt
Добрый день. Требуется написать клиент-серверное приложение по БД, используя MariaDB и c++. Базу написал, а вот к интерфейсу не знаю как подлезть через qt. Подскажите, пожалуйста, что можно погуглить и посмотреть
источник

РБ

Руслан Багров in Qt
Макс Воробьев
т е фото кода с экрана?
Да
источник

РБ

Руслан Багров in Qt
Прошу не банить, если подобное запрещено, раз никто не отвечает отрицательно, смею предположить, что можно выкладывать фото кода. Подскажите, пожалуйста, хочу в excel вывести 3 столбца, причём они разных размеров, поэтому пришлось сделать 3 цикла, но как сделать так, чтобы содержимое массива строго выводилось под его столбцом?
источник

PM

Peter Mironychev in Qt
в pastebin забанили?
источник

РБ

Руслан Багров in Qt
Руслан Багров
Добрый день, друзья!
Подскажите, сюда можно выкладывать фото кода или только сам код?
Как бы смешно не звучало, нет выхода в интернет с компа..
Я написал..
источник

PM

Peter Mironychev in Qt
да я вижу, просто можно было бы и оформить
источник

PM

Peter Mironychev in Qt
но с вопросом не помогу, давно уже в эксель не выводил, не помню уже
источник

РБ

Руслан Багров in Qt
Каким образом оформить?
источник