Форум программистов, компьютерный форум, киберфорум
Наши страницы

Qt

Войти
Регистрация
Восстановить пароль
 
handkock
4 / 2 / 0
Регистрация: 15.10.2013
Сообщений: 94
#1

Таймер - C++ Qt

28.03.2014, 22:16. Просмотров 564. Ответов 3
Метки нет (Все метки)

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

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    k=0;
     x0=150;
     y0=0;
    QTimer *timer=new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(update()));
    timer->start(1);
 
 
}
Не очень понятен этот конструктор. Просто хочу понять как работает этот таймер. Он используется в
C++ (Qt)
1
2
3
4
5
6
7
8
void MainWindow:: update()
{
    if(k==0)  y0++;
    if(k==1)  x0++;
    if(k==-1) y0--;
    if(k==-2) x0--;
   repaint();
}
Перерисовывает картинку с другими координатами за какое-то время. Мне требуется сделать такое ещё раз только для другого класса, поэтому требуется помощь. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2014, 22:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Таймер (C++ Qt):

Таймер - C++ Qt
Помогите пожалуйста!!! Не работает таймер, а также не могу правильно сделать, чтобы цвета для анимации выбирались в диалоговом окне....

Таймер - C++ Qt
как приостановить программу на определенное время, например 0,1 секунды

Таймер на Qt - C++ Qt
Привет всем, ребят. Возникла такая идея, хочу реализовать таймер на Qt. Рабочий день у меня с 9 и до 6 вечера, обед с часу и до двух....

Таймер не останавливается - C++ Qt
У меня игра Быки и Коровы И при запуске новой игры запускается таймер, и каждую секунду увеличивается переменная секунд, но при...

Интерфейс и таймер - C++ Qt
Здравствуйте, подскажите, как реализовать выполнение функций каждый определенный промежуток времени, сохраняя при этом работоспособность...

Остановить таймер - C++ Qt
вопрос как можно остановить таймер если я использую qtime он меня всем устраивает только я не нашел как остановить таймер

3
Чистый
Автор FAQ
2713 / 1409 / 73
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
28.03.2014, 22:30 #2
через каждую миллисекунду отрабатывает слот update в котором в зависимости состояния переменной k изменяем x0 или y0 в большу или меньшую сторону и выполняется функция repaint. но это глуповатый ход, особенно период срабатывания таймера.
1
handkock
4 / 2 / 0
Регистрация: 15.10.2013
Сообщений: 94
28.03.2014, 22:46  [ТС] #3
Чистый, Про update ясно полностью, и что он делает, я имею ввиду саму структуру
C++ (Qt)
1
2
 QMainWindow(parent),
    ui(new Ui::MainWindow)
и
C++ (Qt)
1
ui->setupUi(this);
с
C++ (Qt)
1
2
3
QTimer *timer=new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(update()));
    timer->start(1);
Не могли бы Вы подробно объяснить ?
0
Чистый
Автор FAQ
2713 / 1409 / 73
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
29.03.2014, 01:21 #4
тут уж вам в праве взят учебник по С++ 1,2 это инициализация указателя через который вы в дальнейшем сможете обращаться к объектам размещенным на форме, которая в свою очередь была "нарисована" в дизайнере. срока ui->setupUi(this); идет туда же куда и первые две, все это приблуды которые позволяют вам работать с виджетами распаложенными на форме др словами setupUi создает экземпляры виджетов для того что бы вы к ним могли обращатся из кода, все это из области UIC.
ну а последние 3 строки все просто, создается экземпляр класса QTimer после чего идет соединения сигнала со слотом, про сигналы и слоты вам лучше почитать отдельно и как можно подробнее, без них в Qt будет очень туго. ну и после соединения запускается таймер.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 01:21
Привет! Вот еще темы с ответами:

Не срабатывает таймер в QT - C++ Qt
1.Пытаюсь привязать слот к таймеру QTimer timer; QObject::connect(&timer, SIGNAL(timeout()), this, SLOT(sl2())); ...

ProgressBar и таймер - C++ Qt
всем доброго времени суток! не знаю существует ли такая тема , но тем не менее хотелось бы получить ответ на следующий вопрос. на Qt на...

Таймер исполнения запроса SQL - C++ Qt
Здравствуйте. Интересует такая вещь, можно ли как нибудь засечь время исполнения SQL запроса. Вывожу с помощью QSqlQueryModel в TableView....

Таймер не запускается из WinAPI потока - C++ Qt
Хочу сделать фейерверк. При нажатии мыши фейерверк должен запускаться, потом рекурсивно разветвляться несколько раз... Но суть не в этом......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru