Size: a a a

2020 March 04

M

Mr.Mait in Qt
если ты про оператор << (const char *s)
то в стрим все равно попадает длина строки :)
Делал так
data << test.toStdString().c_str();

Думаю что нужно это использовать  writeBytes
источник

МВ

Макс Воробьев in Qt
Mr.Mait
если ты про оператор << (const char *s)
то в стрим все равно попадает длина строки :)
Делал так
data << test.toStdString().c_str();

Думаю что нужно это использовать  writeBytes
источник

МВ

Макс Воробьев in Qt
https://doc.qt.io/qt-5/qstring.html#toUtf8 более вероятно
источник

M

Mr.Mait in Qt
Какую строку ни пробуй, он прописывает длину в начале
источник

МВ

Макс Воробьев in Qt
Mr.Mait
Какую строку ни пробуй, он прописывает длину в начале
а если создавать сразу QByteArray из const char * ?
источник

M

Mr.Mait in Qt
Макс Воробьев
а если создавать сразу QByteArray из const char * ?
Я так понял, что QDataStream вставляет всегда длину перед массивом при любом массиве. Думаю спасет только writeRawData
источник

M

Mr.Mait in Qt
Да, все так. Печаль
источник

FS

Flower Surgeon in Qt
Mr.Mait
Я так понял, что QDataStream вставляет всегда длину перед массивом при любом массиве. Думаю спасет только writeRawData
Вы можете написать свой сериализатор, благо это не так сложно.
источник

M

Mr.Mait in Qt
Flower Surgeon
Вы можете написать свой сериализатор, благо это не так сложно.
Да, знаю об этом. Просто не ожидал такой "фичи"
источник

FS

Flower Surgeon in Qt
Mr.Mait
Да, знаю об этом. Просто не ожидал такой "фичи"
Ну, эм... это же не просто так сделано. Десериализатор, в противном случае, не будет знать, сколько ему читать из потока.
источник

FS

Flower Surgeon in Qt
¯\_(ツ)_/¯
источник

VS

Vladimir Suisei in Qt
Короче ситуация следующая.
Есть класс. В одном из его методов создается QProcess через new. Коннектится finished к слоту this класса.
Соответственно, в этом слоте надо как-то объект QProcess потереть. Как его получить?
Это ведь дефолтный сценарий использования, я не творю какую-то дичь?
источник

МВ

Макс Воробьев in Qt
Vladimir Suisei
Короче ситуация следующая.
Есть класс. В одном из его методов создается QProcess через new. Коннектится finished к слоту this класса.
Соответственно, в этом слоте надо как-то объект QProcess потереть. Как его получить?
Это ведь дефолтный сценарий использования, я не творю какую-то дичь?
через sender() у QObject
источник

МВ

Макс Воробьев in Qt
sender()->deleteLater() или как-нибудь так
источник

VS

Vladimir Suisei in Qt
Макс Воробьев
sender()->deleteLater() или как-нибудь так
Т.е. я должен сам в коде проконтролировать, что этот слот вызывается только из тех объектов, которые я хочу удалить?
источник

МВ

Макс Воробьев in Qt
сейчас вообще не понял
источник

VS

Vladimir Suisei in Qt
Макс Воробьев
сейчас вообще не понял
Ну в теории этот слот может вызвать какой-то левый сигнал из объекта к примеру на стеке, и я хз что будет если я буду его пытаться удалить
источник

МВ

Макс Воробьев in Qt
в слоте пишешь, если есть след команда - запустить еще раз, иначе удалить
источник

МВ

Макс Воробьев in Qt
кто пишет код: ты или тараканы?
источник

VS

Vladimir Suisei in Qt
Макс Воробьев
в слоте пишешь, если есть след команда - запустить еще раз, иначе удалить
Это не понял
источник