Russian Qt Forum
Июнь 15, 2024, 17:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Таймер с обратным отсчетом  (Прочитано 20937 раз)
Alexu007
Гость
« Ответ #30 : Март 07, 2014, 15:15 »

Это- то я сделаю запросто. У меня проблема именно при работе с переменными типа времени.
Я cделал вот так:

Код
C++ (Qt)
   #include <QTime>
   #include <QTimer>
 
...
...
 
   int hor = ui->lineEdit_hour->text().toInt();
   int min = ui->lineEdit_min-> text().toInt();
   int sec = ui->lineEdit_sec-> text().toInt();
 
   QString text = QTime(hor, min, sec).toString("hh:mm:ss");
 
   ui->lcdNumber->display(text);

А это в обработчике timeout таймера:

Код
C++ (Qt)
       ...
       ...
 
           sec--;
           if(sec < 0) {min--; sec = 59;}
           if(min < 0) {hor--; min = 59;}
 
       ....
       ...

« Последнее редактирование: Март 07, 2014, 15:23 от Alexu007 » Записан
QPeter
Гость
« Ответ #31 : Март 07, 2014, 16:49 »

OKTA видимо я не ясно выразился.)
Если вдруг ты чего не будешь успевать изучить или если просто появятся какие нибудь дела и не до учебы будет, и позже осознав что ты давно не учился, сможешь всегда сесть и продолжить обучение. Так сказать сам себе учитель, а если учишься в каком то учебном заведении, данная возможность отсутствует или имеет ограниченное количество времени.)
« Последнее редактирование: Март 07, 2014, 17:01 от QPeter » Записан
QPeter
Гость
« Ответ #32 : Март 07, 2014, 16:55 »

Alexu007 получается у тебя 3 lineEdit в которых ты по очереди вводишь сначала часы, потом минуты, затем секунды? Далее присваиваешь это всё целочисленным переменным и запихиваешь в lcd дисплей?

Я думал ты сделал с timeEdit.(
Записан
Alexu007
Гость
« Ответ #33 : Март 07, 2014, 19:26 »

Вроде как timeEdit это ввод даты и времени со встроенным календарём - слишком мощно для простого таймера.
Записан
QPeter
Гость
« Ответ #34 : Март 07, 2014, 21:46 »

в timeEdit вводится только время. А дата, время, календарь есть только в "Date/Time Edit".
А как значение из timeEdit вытащить не знаешь? Чтоб было так же как у тебя, только вместо 3 полей-одно.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #35 : Март 07, 2014, 21:56 »

в timeEdit вводится только время. А дата, время, календарь есть только в "Date/Time Edit".
А как значение из timeEdit вытащить не знаешь? Чтоб было так же как у тебя, только вместо 3 полей-одно.
http://qt-project.org/doc/qt-4.8/qdatetimeedit.html#time-prop
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4732



Просмотр профиля WWW
« Ответ #36 : Март 07, 2014, 22:40 »

А как значение из timeEdit вытащить не знаешь? Чтоб было так же как у тебя, только вместо 3 полей-одно.
первый и последний раз (тут даже догадаться можно): QTime time () const.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexu007
Гость
« Ответ #37 : Март 08, 2014, 07:48 »

Вот, нагуглил, может пригодится:

http://f1-delphi.ru/books/qt_4_programmirovanie_gui_na_s/realizatsiya_polzovatelskix_de/3.html

Код
C++ (Qt)
06 QTime time = timeEdit->time();
07 int secs = (time.minute() * 60) + time.second();

« Последнее редактирование: Март 08, 2014, 08:08 от Alexu007 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4732



Просмотр профиля WWW
« Ответ #38 : Март 08, 2014, 10:52 »

а количество часов ты решил проигнорировать? Подмигивающий
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexu007
Гость
« Ответ #39 : Март 08, 2014, 15:42 »

Достаточно 1 раз увидеть, как это делается с секундами, дальше дело техники. Ставишь точку после time и выбираешь из списка то что нужно.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.193 секунд. Запросов: 22.