А
Александр9018 лютого 2019 р. 16:02

Ошибка при запуске

Непойму, где исправить нужно, точнее что именно он хочет от меня.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

10
Evgenii Legotckoi
  • 18 лютого 2019 р. 16:27

Добрый день.

Ну Qt Creator как всегда даёт прикурить нервам новичков )))))

Я так полагаю, что у вас все эти переменные Ox , onePixelX , pictHeight , ну или часть из них являются переменными типа данных double.

А метод drawLine ожидает переменные типа int в качестве аргументов, так вот, у вас там происходит неявное преобразование из тип данных double в int. В этом случае теряется дробная часть, что может быть важно для точных расчётов, но очевидно, что это не важно в вашем коде, вам там не нужна такая точность.

Поэтому, что касается первых четырёх варнингов, то можно просто закрыть глаза на них, это будет работать.

Ну или скастовать на int явно

static_cast<int>(pictHeight)

Однако, на мой взгляд, это лишнее, можно просто проигнорить эти варнинги, ну или отключить их вовсе в настройках статического анализатора. Хотя... поработайте с анализатором дальше, больше вопросов будет, может быстрее выучите подобные вещи.

Что касается последнего, то вот тут уже грубая ошибка.

Вместо такой записи

(double)rightX

Нужно записывать так

static_cast<double>(rightX)

Эта запись кастования будет правильнее для C++, а ваш изначальный вариант берёт корни ещё из Си, и является порой мягко говоря неуправляемым вариантом, поэтому в современных рекомендациях не приветствуется.

    А
    • 19 лютого 2019 р. 14:31

    Можете пример с int 1 строчку сделать?) как правильно скаставать нужно?, с последнем разобрался. Спасибо

      Evgenii Legotckoi
      • 20 лютого 2019 р. 03:33

      Да, конечно.

      Думаю, что вот не будет уже ругаться, поскольку будет явно указан каст типов.

      paint.drawPoint(static_cast<int>(Ox*onePixelX), 0, static_cast<int>(Ox*onePixelX), static_cast<int>(pictHeight));
      

      Но вообще в продакшене обычно не заморачиваются в подобных случаях, если это не требуется для какого-либо специального случая.

      Мы у себя, например, не используем касты с double на int и оставляем неявное преобразование. Это и так любой программист с опытом понимает, что конкретно происходит в том случае. Но если вы делаете курсовую работу, то думаю, что это может быть зачтено вам в плюс, когда будете объяснять преподавателю, зачем сделали этот static_cast. (Если, конечно, я правильно понял вашу ситуацию)

        А
        • 20 лютого 2019 р. 12:41

        Спасибо заработала)

          А
          • 20 лютого 2019 р. 13:33

          Разбирал тут один пример, "Построение графиков простейших функций в Qt". Код вставил, хотел проверить на работа способность, выдал ошибку.

          Выделил красным код каторый высвечивает. В конце должно получится так, я так понял что код не туда добавил, либо неправильно написан.

            А
            • 20 лютого 2019 р. 13:36

            Хочу попробовать добавить сюда ещё функций, с добавлением скорости и направления движения объектов, а в конце определить будут пересекатся или нет. По вашему много кода писать прийдётся для всего задуманого?)

              Evgenii Legotckoi
              • 20 лютого 2019 р. 13:59

              Ну собственно я не вижу объявления тех переменных в коде, так что правильно подсвечивает.

                Evgenii Legotckoi
                • 20 лютого 2019 р. 14:05

                Зависит от того, как будете реализовывать.

                Пересечение линий в Qt можно в несколько строк написать. Смотрите в документацию, там есть метод intersect .

                Со скоростью не знаю, как собираетесь делать, если это на основе скалярных веторов, то длина вектора будет отражать скорость.

                По сути это может вылиться в написание отдельного класс строчек на 40-50, если действительно нужно будет.

                Пересечение объектов если делать по вектору их скоростей, то скорее всего тоже строчек в 50 будет. Если навскидку.

                Если конечно это не хотите всё в реалтайме делать, если да, то ещё строчек 50.

                Но это всё навскидку, +- километр.

                  А
                  • 20 лютого 2019 р. 14:29

                  Вы игру когда писали, в ней по сути тоже есть момент, где жук доганяет муху.Только мне нужно чтобы я мог изменять в графической форме все данные. Хотя в игре я так понял другие ходы реализации программы.

                    Evgenii Legotckoi
                    • 21 лютого 2019 р. 03:58

                    Ну у меня координаты передавались в зависимости от положения курсора мыши, а в вам по сути нужно будет аналогичным способом посылать даннные из полей ввода.

                    Так что здесь скорее интерфес для установи параметров будет иной.

                      Коментарі

                      Only authorized users can post comments.
                      Please, Log in or Sign up
                      sf

                      C++ - Тест 004. Указатели, Массивы и Циклы

                      • Результат:90бали,
                      • Рейтинг балів8
                      МВ

                      Qt - Тест 001. Сигналы и слоты

                      • Результат:68бали,
                      • Рейтинг балів-1
                      ЛС

                      C++ - Тест 001. Первая программа и типы данных

                      • Результат:53бали,
                      • Рейтинг балів-4
                      Останні коментарі
                      A
                      ALO1ZE19 жовтня 2024 р. 14:19
                      Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                      ИМ
                      Игорь Максимов05 жовтня 2024 р. 13:51
                      Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                      d
                      dblas505 липня 2024 р. 17:02
                      QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                      k
                      kmssr09 лютого 2024 р. 00:43
                      Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                      АК
                      Анатолий Кононенко05 лютого 2024 р. 07:50
                      Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                      Тепер обговоріть на форумі
                      J
                      JacobFib17 жовтня 2024 р. 09:27
                      добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
                      ИМ
                      Игорь Максимов03 жовтня 2024 р. 10:05
                      Реализация навигации по разделам Спасибо Евгений!
                      JW
                      Jhon Wick01 жовтня 2024 р. 21:52
                      Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
                      КГ
                      Кирилл Гусарев27 вересня 2024 р. 15:09
                      Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
                      F
                      Fynjy22 липня 2024 р. 10:15
                      при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                      Слідкуйте за нами в соціальних мережах