Название: Как остановить таймер? Отправлено: useruser от Октября 04, 2013, 14:01 Код: void MainWindow::onButtonClick1() Таймер не останавливается, весь код в onTimeout() выполняется каждую секунду. Название: Re: Как остановить таймер? Отправлено: _OLEGator_ от Октября 04, 2013, 14:05 Прежде чем переходить к Qt надо изучить C++!
Что создается в этой строке и какова область видимости переменной? Код
Название: Re: Как остановить таймер? Отправлено: Old от Октября 04, 2013, 14:06 Таймер не останавливается, весь код в onTimeout() выполняется каждую секунду. Вы на каждое нажатие создаете новый таймер, а слот onTimeout продолжают вызывать старые таймеры.Название: Re: Как остановить таймер? Отправлено: useruser от Октября 04, 2013, 14:19 Old - вы правы. Буду "копать" в этом направлении.
Название: Re: Как остановить таймер? Отправлено: useruser от Октября 04, 2013, 17:29 Написал так
Код: void MainWindow::onButtonClick1() Название: Re: Как остановить таймер? Отправлено: kambala от Октября 04, 2013, 17:52 чтоб не повторяться про «учи С++», отвечу просто: сделай таймер полем класса.
Название: Re: Как остановить таймер? Отправлено: useruser от Октября 04, 2013, 18:41 Код: class myclass { Выдаёт ошибку. Не хочет быть функция MainWindow::onButtonClick1() методом класса myclass. Название: Re: Как остановить таймер? Отправлено: gil9red от Октября 04, 2013, 21:46 Цитировать Выдаёт ошибку. Не хочет быть функция MainWindow::onButtonClick1() методом класса myclass. Потому что эта функция (метод) уже является частью класса. Только вне классов так описываем принадлежность методов.Учите с++ :) Код: h. Код: class MainWindow: public QMainWindow cpp. Код: MainWindow::MainWindow(QWidget *parent /*= 0*/) : Название: Re: Как остановить таймер? Отправлено: lit-uriy от Октября 05, 2013, 11:26 Написал так ну и что что if условный оператор?Код: void MainWindow::onButtonClick1() Область видимости переменной ограничена фигурными скобками, т.е. Код всё что объявлено в пределах этих фигурных скобок, видно только в пределах этих фигурных скобок. Мало того, если переменная объявлена на стеке (без оператора new), то и жить она будет только в пределах своей области видимости. Как только управление перейдёт за пределы этого блока с фигурными скобками, такая переменная прекратит своё существование. |