Size: a a a

2020 June 01

VK

Vladislav Kremenevsk... in Qt
источник

M

Mr.Mait in Qt
Vladislav Kremenevskiy
с чем может быть такое связано?
допустим я что-нибудь делаю с ui улсовно говоря, меняю текст на кнопке или добавляю текст в textEdit
через слоты (при совершении каких-то действий), но изменения не сразу вступают в силу. И ничего не сменится до тех пор пока я допустим не переключусь на любое другое открытое окно........ вообще не понимаю
У тебя в gui потоке нет никаких бесконечных циклов?
источник

VK

Vladislav Kremenevsk... in Qt
нет
источник

A

Alex in Qt
QString::toUtf8() добавляет нуль-терминатор? В доке не сказано.
источник

F

FPOHTMEH in Qt
Alex
QString::toUtf8() добавляет нуль-терминатор? В доке не сказано.
Зачем в QByteArray null-терминатор?
источник

A

Alex in Qt
В том-то и дело, что низачем, поэтому его вполне могло бы там не быть, вот только у QString нет метода c_str(). Как получить сишную строку в utf-8?
источник

VK

Vladislav Kremenevsk... in Qt
Alex
В том-то и дело, что низачем, поэтому его вполне могло бы там не быть, вот только у QString нет метода c_str(). Как получить сишную строку в utf-8?
QString::fromUtf8()
источник

M

Mr.Mait in Qt
Alex
В том-то и дело, что низачем, поэтому его вполне могло бы там не быть, вот только у QString нет метода c_str(). Как получить сишную строку в utf-8?
toStdString().c_str()
источник

A

Alex in Qt
Mr.Mait
toStdString().c_str()
глупость какая-то с двойным выделением памяти, и где гарантия, что std::string будет utf8?
источник

A

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

F

FPOHTMEH in Qt
Выглядит как баг рисования, а именно несоответствия прямоугольника перерисовки с фактическим прямоугольником кнопки. Есть смысл вставить qDebug в paintEvent, чтобы проверить. Или, на худой конец, вызвать дополнительный update, как хак
источник

F

FPOHTMEH in Qt
А кнопка у тебя стандартная или кастомизированная?
источник

M

Mr.Mait in Qt
Alex
исторически у меня во всех проектах для этого используется toUtf8().data() и всё было хорошо, но сейчас задумался - может, мне просто везло
Из текста "тест" всего 8 символов без нуль терминала у меня в отладке
QByteArray arr = str.toUtf8();
const char *test = arr.constData();
источник

F

FPOHTMEH in Qt
Alex
исторически у меня во всех проектах для этого используется toUtf8().data() и всё было хорошо, но сейчас задумался - может, мне просто везло
А вот QByteArray.data уже null-terminated
источник

A

Alex in Qt
FPOHTMEH
А вот QByteArray.data уже null-terminated
???
источник

A

Alex in Qt
с чего бы, если в буфере этого нуля нет?
источник

F

FPOHTMEH in Qt
Alex
???
rtfm
источник

M

Mr.Mait in Qt
FPOHTMEH
А вот QByteArray.data уже null-terminated
Попробовал, так же без нуль
источник

F

FPOHTMEH in Qt
Mr.Mait
Попробовал, так же без нуль
На визуализацию надеяться не стоит, лучше print или аналог.
Посимвольный
источник

A

Alex in Qt
а где гарантия, что это не access violation? Читаем следующий символ за границами буфера, он случайно оказался 0, и мы радуемся, что всё работает. А на самом деле нет.
источник