А
Александр90Ақп. 18, 2019, 4:02 Т.Қ.

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

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

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

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

10
Evgenii Legotckoi
  • Ақп. 18, 2019, 4: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, 2:31 Т.Қ.

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

      Evgenii Legotckoi
      • Ақп. 20, 2019, 3: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, 1:33 Т.Қ.

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

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

            А
            • Ақп. 20, 2019, 1:36 Т.Қ.

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

              Evgenii Legotckoi
              • Ақп. 20, 2019, 1:59 Т.Қ.

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

                Evgenii Legotckoi
                • Ақп. 20, 2019, 2:05 Т.Қ.

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

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

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

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

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

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

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

                  А
                  • Ақп. 20, 2019, 2:29 Т.Қ.

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

                    Evgenii Legotckoi
                    • Ақп. 21, 2019, 3:58 Т.Ж.

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

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

                      Пікірлер

                      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                      Кіріңіз немесе Тіркеліңіз
                      Г

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

                      • Нәтиже:66ұпай,
                      • Бағалау ұпайлары-1
                      t

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

                      • Нәтиже:33ұпай,
                      • Бағалау ұпайлары-10
                      t

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

                      • Нәтиже:52ұпай,
                      • Бағалау ұпайлары-4
                      Соңғы пікірлер
                      G
                      GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
                      Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
                      d
                      dblas5Шілде 5, 2024, 11:02 Т.Ж.
                      QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                      k
                      kmssrАқп. 8, 2024, 6:43 Т.Қ.
                      Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                      АК
                      Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
                      Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                      Енді форумда талқылаңыз
                      Evgenii Legotckoi
                      Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
                      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                      F
                      FynjyШілде 22, 2024, 4:15 Т.Ж.
                      при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
                      BlinCT
                      BlinCTМаусым 25, 2024, 1 Т.Ж.
                      Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
                      BlinCT
                      BlinCTМамыр 5, 2024, 5:46 Т.Ж.
                      Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
                      Evgenii Legotckoi
                      Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
                      Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

                      Бізді әлеуметтік желілерде бақылаңыз