Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
18 ноября 2018 г. 13:25

Управление кнопкой

Здравствуйте, недавно начал изучать Qt. Появилась идея реализовать движение кнопки (например по кругу или рисуя квадрат). Хотелось бы спросить совета у опытных ребят, может кто-то подскажет, как реализовать такую идейку?

15

Добрый день!

Реализовать движение кнопки - не совсем понятна задача. Что значит движение кнопки? Перемещение самого объекта или реакция какого-то объекта на на нажатие клавиш.

Любую задачу в программировании стоит начинать с чёткой постановки задачи. "Что конкретно нужно сделать?" Тогда будет проще что-то посоветовать, поэтому опишите подробнее, что хотите сделать. Как это должно выглядеть. Просто сама фраза - "реализовать движение кнопки" не совсем до конца понятна.



Для Django рекомендую VDS-хостинг TIMEWEB

0

Хорошо, я постараюсь.

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



0

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

Я не стал делать слишком сложный пример, но думаю, что это то, что вам нужно для начала. Также посмотрите в разделе Qt ещё статьи по игре в Qt и работе с графической сценой. Думаю, что это будет наиболее интересное для вас.

Для Django рекомендую VDS-хостинг TIMEWEB

0

Евгений, попробовал запустить вашу программу. Вышло вот это. В чем проблема?

0

Сборку запустите. Там автоматически генерируемый файл. Вы только открыли приложение как я понимаю, но не пытались запустить сборку. А то что там видите красным - это настройки креатора по статическому анализу. Я их обычно отключаю, мешаются и панику наводят даже в автоматически генерируемых местах, а новичков вводят в заблуждение.

Для Django рекомендую VDS-хостинг TIMEWEB

0

Вроде все сделал, не помогло

0

Так, знаю... У вас там MainWindow, вы просто скопировали код. В конце статьи есть ссылка на Git Repository со всем исходным кодом. Скачайте оттуда. У вас немного классы в наследовании неправильно сделаны, как я полагаю, да и наверняка ui файла или нет, или он для MainWindow. В общем из Git репозитория исходник скачайте.

Для Django рекомендую VDS-хостинг TIMEWEB

0

Большое спасибо, все получилось, завтра начну изучать код.

0

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

0

Ну там есть методы stop(), pause(), start() , что у QSequentialAnimationGroup, что у QPropertyAnimation.

У вас на каком уровне программирование на C++само по себе?

Для Django рекомендую VDS-хостинг TIMEWEB

0

Классы в теории изучил, практики совсем нет. Можно сказать с Qt в бою обучаюсь :)

Есть вопрос еще к вам. Недавно познакомился с github. Хотелось бы узнать, можешь подскажете пользователей, у кого много выполненных работ для начинающих Qt. Просто лично мне на примерах намного проще обучаться. С++ так и учил.

0

Я редко нахожу ответы на вопросы по Qt на гитхабе. Чаще хватает официальной документации или просто в поиске по интернету, или вот в заметках у самого себя.

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

Если хотите набрать опыта, то придумайте себе проблему, которую нужно решить. То есть написать программу, которая будет что-то одно, что вам нужно, но что не делают например другие программы, или они слишком громоздкие и т.д. И пишите свою программу. А просто смотреть на примеры конечно хорошо, но без практического применения - это дело бесполезное.


Для Django рекомендую VDS-хостинг TIMEWEB

0

Большое спасибо за совет. Обязательно учту.

0

Евгений, здравствуйте. Я все пытаюсь реализовать возможность остановки кнопки при нажатии на нее...

Может дадите подсказку, как лучше всего реализовывать? ( В Уроке 86)

0

Делайте проверку на текущее состояние кнопки

void Widget::onClickButton()
{
    switch (animationGroup->state())
    {
        case QAbstractAnimation::State::Stopped:
            animationGroup->start();
            break;
        case QAbstractAnimation::State::Running:
            animationGroup->pause();
            break;
        case QAbstractAnimation::State::Paused:
            animationGroup->resume();
            break;
    }
}

Для Django рекомендую VDS-хостинг TIMEWEB

0

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
9 декабря 2018 г. 22:00
Yura Gajdar

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

  • Результат:70баллов,
  • Очки рейтинга1
9 декабря 2018 г. 2:33
anat_home@ukr.net

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

  • Результат:100баллов,
  • Очки рейтинга10
9 декабря 2018 г. 2:29
anat_home@ukr.net

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

  • Результат:60баллов,
  • Очки рейтинга-1
Последние комментарии
9 декабря 2018 г. 8:14
Евгений Легоцкой

Вы можете в QSettings записать откуда угодно bool переменную без всяких чекбоксов. def save_check_box_settings(self): settings = QSettings() settings.setValue(SETTINGS_TRAY,...
8 декабря 2018 г. 13:02
Жасулан Нургожинов

а как можно это сделать без чек бокса
5 декабря 2018 г. 13:25
Евгений Легоцкой

Значит всё-таки в переменных окружения была проблема. Полагаю, что Qt Creator берёт информацию сначала из переменных PATH, либо записывает её из  своего конфига, а потом берёт уже из PATH при ...
5 декабря 2018 г. 13:21
IscanderChe

В переменной PATH путь к CMake был указан как G:\soft\CMake\bin, в реальности же каталог называется Cmake. Причём после изменения в переменной PATH всё заработало, а в Qt Creator путь ос...
5 декабря 2018 г. 10:53
Евгений Легоцкой

Под linux как правило проще, там всё по свои каталогам и полочкам разложено сразу. Думается мне, что проблема все-таки где-то в путях переменных...
Сейчас обсуждают на форуме
9 декабря 2018 г. 18:55
Игорь Максимов

Доброго времени суток. Нашел приложение для конвертации видео + celery что очень радует. Не радует только то что оно отказывается работать под python3 Трейсбек прикладываю: File "/ho...
9 декабря 2018 г. 15:14
Евгений Легоцкой

Непонятно, вы драйвер скачали или собирали? Сдаётся мне, что возможно более правильный вариант собрать своим компилятором вначале его, а потом уже подключать.
8 декабря 2018 г. 18:30
Жасулан Нургожинов

может так будет понятнее# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'C:\Users\hallgato\PycharmProjects\workers.ui'## Created by: PyQt5 UI code generator 5.11...
8 декабря 2018 г. 10:51
Даниил Тетерин

Но если серьезно, то действительно помощь нужна. Мне по-хорошему нужно сдать это в понедельник
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы