Форум сайта python.su
RodegastВот чтобы всего этого не делать, и делается производный таймер, который отвечает за вычисления.
1) Переводим всё это в миллисекунды (5*60+25)*1000
2) Передаём их в метод self.startProgressTimer(325000)
Отредактировано py.user.next (Июнь 3, 2015 00:41:53)
Офлайн
> Вот чтобы всего этого не делать, и делается производный таймер, который отвечает за вычисления.
Вот если тебе надо гвоздь забить ты как поступиш: “возмёш молоток и забьёш гвоздь” или “сначала построиш кузницу, в ней сделаеш молоток и только потом забьёш”?
Офлайн
RodegastЯ найду объект, отвечающий за забивание, а если его нет - сделаю. У меня будет молоток, а у тебя - камень, тапочек, не знаю, что ещё.
Вот если тебе надо гвоздь забить ты как поступиш
Отредактировано py.user.next (Июнь 4, 2015 00:46:45)
Офлайн
> Когда надо будет поменять формат (например, добавить ступенчатое заполнение)….
Вот только включать фантазию не надо. Это был простой пример того как можно сделать “заполнение” QProgressBar-а и не более того. Если будет стоять задача сделать гуй в котором понатыкано таких QProgressBar-ов, да ещё и с разными алгоритмами заполнения, то создавать кастомный объект таймера всё равно глупо. Я бы в таком случае далал как-то так:
class progressBar(QtGui.QProgressBar): def __init__(self, parent=None): QtGui.QProgressBar.__init__(self, parent) .... def start(self, time): .... self.startTimer(time) .... def timerEvent(self, event): ....
Офлайн
RodegastТак ему нужно равномерное заполнение. Равномерность определяется таймером (его сигналом). Поэтому, чтобы на неё повлиять, меняется таймер.
Это был простой пример того как можно сделать “заполнение” QProgressBar-а и не более того.
Офлайн
> Ступенчатое заполнение - это когда он заполняется по 25 процентов к примеру, но тоже на протяжении заданного времени.
И в чём проблема?
self.progressBar.setMaximum(4)
Отредактировано Rodegast (Июнь 4, 2015 16:05:50)
Офлайн
RodegastНа протяжении 5 минут и 25 секунд это должно происходить. То есть таймер не должен посылать сигнал с интервалом, который подходит для одного процента.
И в чём проблема?
Офлайн
А он его и не будет посылать. Он пошлёт 4 сигнала каждый из которых переключит progressBar на 25%
Офлайн
RodegastТак у тебя таймер настроен не на 25, а на 1. В итоге проценты заполнятся раньше времени.
Он пошлёт 4 сигнала
Отредактировано py.user.next (Июнь 5, 2015 00:47:08)
Офлайн
> Так у тебя таймер настроен не на 25, а на 1. В итоге проценты заполнятся раньше времени …. (Мне просто действительно лень сейчас пример писать, чтобы ты понял, что я имею в виду.)
Вот ты выдумал какую-то глупость и сам в неё веришь, а потратить 5 минут что бы разобраться как оно на самом деле работает тебе лень.
Офлайн