Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2014, 09:17   #111
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Тот же результат - шурует таймер, не дожидаясь клика!
Скорее всего, вы забыли убрать строку _timer.start(1000) из конструктора.

Дело в том, что когда программа начинает выполнение, то она создаёт диалоговое окно:
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();
    return a.exec();
}
При выполнении этой строки кода "Dialog w;" вызывается конструктор диалогового окна, в котором есть строка " _timer.start(1000)", которая запускает таймер

Через дизайнер исправьте имена объектов, а то читать невозможно. Вот так лучше:
Код:
    ui->hourLineEdit->setText( QString::number( ho ) );
    ui->minuteLineEdit->setText( QString::number( mi ) );
    ui->secondLineEdit->setText( QString::number( se ) );

Последний раз редактировалось Stilet; 22.10.2014 в 07:37.
8Observer8 вне форума Ответить с цитированием
Старый 21.10.2014, 16:36   #112
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Из конструктора СТАРТТАЙМЕР удалил! Все уже работает, но почему вот в таком виде таймер заводился от конструктора (от Time):
Код:
void Dialog::slotUpdate()
{
    ui->lineEdit_7->setText( QString::number(t.hour()));
    ui->lineEdit_8->setText( QString::number( t.min()));
    ui->lineEdit_9->setText( QString::number( t.sec()));
    t--;
}

void Dialog::myDialog()
{
    int h = ui->lineEdit->text().toInt();
    int m = ui->lineEdit_2->text().toInt();
    int s = ui->lineEdit_3->text().toInt();
    t.set_Time(h, m, s);
}

void Dialog::on_pushButton_clicked()
{
   _timer.start( 1000 );
}
А в таком:
Код:
void Dialog::on_pushButton_clicked()
{
    int h = ui->lineEdit->text().toInt();
    int m = ui->lineEdit_2->text().toInt();
    int s = ui->lineEdit_3->text().toInt();
    t.set_Time(h, m, s);
    _timer.start( 1000 );
}

void Dialog::slotUpdate()
{
    ui->lineEdit_7->setText( QString::number( t.hour()));
    ui->lineEdit_8->setText( QString::number( t.min()));
    ui->lineEdit_9->setText( QString::number( t.sec()));
    t--;
}
по заведенному пользователем!
Потому что myDilog() не подключен к кнопке и получается лишний?
igoreshka3333 вне форума Ответить с цитированием
Старый 21.10.2014, 16:46   #113
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Раз вы удалили timer.start() из конструктора, а поместили эту строку в обработчик кнопки, то по кнопке он и будет стартовать. Тут нет волшебства, к счастью

Упражнение. Добавьте кнопку "Stop"

Не забудьте исходники прислать!

Последний раз редактировалось Stilet; 22.10.2014 в 07:34.
8Observer8 вне форума Ответить с цитированием
Старый 21.10.2014, 17:11   #114
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Нет! Я не зато, я ж писал выше:
Цитата:
Из конструктора СТАРТТАЙМЕР удалил! Все уже работает, но почему вот в таком виде таймер заводился от конструктора (от Time):
то есть что бы я не вводил таймер высвечивал 0 0 0
Цитата:
А в таком:
То я мог сам задать время и отсчитывало МОЕ врямя....
igoreshka3333 вне форума Ответить с цитированием
Старый 21.10.2014, 17:25   #115
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Киньте архив с исходниками
8Observer8 вне форума Ответить с цитированием
Старый 21.10.2014, 17:28   #116
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Ладно) Я-то то уже давно исправил, но просто интересно в чем загвоздка? Попозже все скину!

Цитата:
Commit the files:
Цитата:
git commit -am “First Commit”
Так и не понял как добавить файлы в ГИТ - хранилище и зачем игнорировать файлы - .gitignore

Вот таймер!

Последний раз редактировалось Stilet; 22.10.2014 в 07:34.
igoreshka3333 вне форума Ответить с цитированием
Старый 21.10.2014, 20:02   #117
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от igoreshka3333 Посмотреть сообщение
Так и не понял как добавить файлы в ГИТ - хранилище и зачем игнорировать файлы - .gitignore
Я всегда игнорирую файл *.pro.user. Просто он не нужен тому кто скачает. А вы не создавайте пока .gitignore Попробуйте ещё раз, но сначала удалите в проекте git репозитарий через Far

Почему архив такой огромный? Сделайте отдельно архив для исходников

Последний раз редактировалось 8Observer8; 21.10.2014 в 20:05.
8Observer8 вне форума Ответить с цитированием
Старый 21.10.2014, 20:11   #118
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Цитата:
Почему архив такой огромный?
Не знаю - добавил все нужные библиотеки - и все!
Цитата:
Commit the files:
Цитата:
git commit -am “First Commit”
Надо указывать путь к папке?
Исходники

Последний раз редактировалось igoreshka3333; 21.10.2014 в 20:16.
igoreshka3333 вне форума Ответить с цитированием
Старый 21.10.2014, 20:54   #119
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от igoreshka3333 Посмотреть сообщение
Не знаю - добавил все нужные библиотеки - и все!
Я посмотрел архив. Нужно было файл брать без "d": Qt5Widgetsd.dll Он у вас весит 136 МБ Буква "d" означает "для отладки". А остальное всё правильно. Я раньше отдельно посылал пользователям общие dll: https://yadi.sk/d/GV2PozMcbSuUG

Когда это распаковывается с 17 МБайт в 40 с лишним - это тоже не очень хорошо. Я научился собирать почти все dll в один exe. После такой сборки ваш Таймер будет весить 5Мбайт. Если нужно будет в будущем, то выполните мою инструкцию: http://www.prog.org.ru/topic_26392_0.html

Цитата:
Сообщение от igoreshka3333 Посмотреть сообщение
Надо указывать путь к папке?
Нужно с помощью Far зайти в папку с проектом и оттуда уже работать с консолью: http://www.prog.org.ru/topic_26393_0.html

Код я завтра посмотрю
8Observer8 вне форума Ответить с цитированием
Старый 21.10.2014, 21:07   #120
igoreshka3333
Форумчанин
 
Аватар для igoreshka3333
 
Регистрация: 26.09.2014
Сообщений: 176
По умолчанию

Кстати вот так то:

И еще: на другом компьютере таймер отказывается работать! В консоле всплывает надпись : "could not find or load the qt platform plugin windows"
Изображения
Тип файла: jpg Безымянный.jpg (41.7 Кб, 144 просмотров)

Последний раз редактировалось Stilet; 22.10.2014 в 07:30.
igoreshka3333 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
описать класс в с# volkodinocka Помощь студентам 0 09.11.2013 22:05
Описать класс С# NeoX_2011 Помощь студентам 1 19.03.2012 00:10
C# исправление ошибки. Описать класс, реализующий шестнадцатеричный счетчик PROkaZZZniK Помощь студентам 7 09.02.2012 16:29
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Описать класс. Telec Общие вопросы C/C++ 1 30.04.2010 18:43