Ответы пользователя по тегу Qt
  • Как правильно написать макрос для "расширения" методов родителя?

    Nipheris
    @Nipheris Куратор тега C++
    1. Вы пробовали использовать ваш первый вариант без макроса? Что сообщает компилятор? Ошибка из moc-файла прилетает?
    2. Я бы посоветовал вам шаблонного родителя, но раз у вас MOC, значит не пойдет.
    3. Ну передайте параметр в макрос, раз уж совсем никак. Я бы все-таки разобрался сначала, почему вариант без указания род. класса не работает.
    Ответ написан
  • Сохранение и загрузка бинарных файлов с русским текстом Qt в string. Как?

    Nipheris
    @Nipheris Куратор тега C++
    Переделывать строки с std::string на QString может быть и не нужно: достаточно всем договориться, что в std::string может быть UTF-8 текст. Тогда уже нельзя полагаться на соответствие символ == элемент_string-а, т.е. у вас std::string будет хранить уже не символы, а байты (!) строки, и size() будет уже показывать количество байт. Если вас нужно только сохранять/загружать, то это как раз вам подойдет. Затем, чтобы запихнуть в контрол, делаете в нужных местах str.toUtf8() и QString::fromUtf8(...) и счастье.
    Если вам нужно обрабатывать текст посимвольно, например вырезать подстроку, то без поддержки юникода вам ничего не сделать. В этом случае, либо юзайте QString в местах обработки текста, либо подключайте ICU.
    Ответ написан
    Комментировать
  • Почему Debug Assertion Failed?

    Nipheris
    @Nipheris Куратор тега C++
    На глаз в коде ошибок в работе с памятью не видно. Могу предложить еще раз внимательно проверить, правильные ли библиотеки кьюта используются. Библиотеки должны соответствовать версии компилятора и рантайма, битности собираемого экзешника и конфигурации сборки (дебаг/релиз). Проверьте, все ли у вас верно подключено. Масса странных плавающих ошибок может появляться, если, например, кьют собран под 2010-ю студию, а используется в проекте с компилятором из 2013-й и наоборот.
    Ответ написан
  • Не могу понять как исправить ошибки в проекте QT Widgets?

    Nipheris
    @Nipheris Куратор тега C++
    Первый фрагмент - вы хедер с Profile-ом не забыли заинклудить?
    Второй фрагмент - пересоберите moc-файл, в котором эти ошибки. Видимо он уже не актуален.
    Ответ написан
  • Как нарисовать график функции стандартными средствами Qt?

    Nipheris
    @Nipheris Куратор тега C++
    Код в студию. Все можно нарисовать и в paintEvent как вам уже предложил torwig, есть подозрение что проблема в расчетах. На вскидку, чтобы получить адекватную картику, вам надо правильно отмасштабировать результаты вычисления функции в точках и сменить систему координат. Так что проверьте для начала вручную циферки, адекватны или нет. Потом делаете переопределяете в своем классе ВиджетДляГрафика paintEvent, создаете в нем QPainter, и тут же им рисуете, у него огромное количество методов для рисования. Вот простейший пример: doc.qt.io/qt-4.8/qpainter.html#details . Обойдетесь без всяких сцен и интерактивных элементов. Не усложняйте пока не разобрались точно, где в УЖЕ НАПИСАННОМ коде проблема. "Само" не заработает.
    P.S. Если чтото крашится, разбирайтесь с этим отдельно, скорее всего у вас проблемы с временем жизни объектов, которыми мы манипулируете (неправильно создаете/удаляете). Специфика плюсов такова, что за этим нужно следить, иначе быстро зароете себя в спагетти из негодного кода.
    Ответ написан
    Комментировать
  • Какие библиотеки использовать для шифрования?

    Nipheris
    @Nipheris Куратор тега C++
    Ответ написан
    Комментировать