Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6

Почему индикатор ProgressBar изменяется скачком?

28.01.2015, 10:06. Показов 2313. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно суть проблемы в том, что индикатор ProgressBar неадекватно отображает процесс. Т.е. при изменении свойства value цифровая индикация полностью соответствует значению value, а графическое отображение изменяется не непрерывно, но скачком при value = 50.
Беглый просмотр асистента не дал никакого результата.
Изображения
  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2015, 10:06
Ответы с готовыми решениями:

Не изменяется цвет полоски ProgressBar
Господа пытаюсь изменить цвет полосы ProgressBar , но он упорно сопратевляется , что делаю не так ? InitCommonControls(); ...

Почему изменяется значение?
Здравствуйте! Есть класс Cell, в котором есть List с именем Genome. Мне надо изменить случайный элемент Cell2, но вместе с ним меняется и...

Почему не изменяется ТИЦ
Сейчас пытаюсь раскрутить сайт http://www.dm-st.ru Но никак не ищется и не индексируется в Yandex. Не пойму в чем тут дело? Тем не...

16
39 / 39 / 17
Регистрация: 14.10.2013
Сообщений: 174
28.01.2015, 13:07
На Linus SUSE + Qt4 такая проблема отсутствует.
Миниатюры
Почему индикатор ProgressBar изменяется скачком?  
0
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
28.01.2015, 14:54
Просто перерисовываться не успевает вот и все.
Может где-то что-то подтормаживает работу программы?
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
28.01.2015, 15:18  [ТС]
Цитата Сообщение от alexey_rage Посмотреть сообщение
Может где-то что-то подтормаживает работу программы?
Нет. Все в порядке.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.01.2015, 19:05
ОС ?
Проверь значения мин, мах, шаг в каждом компоненте.
Под виндой должно меняться с небольшой задержкой во времени.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
28.01.2015, 20:54
Простите, соображения дилетанта. А может быть дело в разных политиках квантования времени для процессов у Винда и Линуха?
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
29.01.2015, 09:59  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
ОС ?
Wind'a.
Цитата Сообщение от Avazart Посмотреть сообщение
Проверь значения мин, мах, шаг в каждом компоненте.
Вот в этом похоже и проблема. Шаг для progressBar'a явно не связывается с его размерами. Т.е. если даже увеличить длину виджета то получим несколько ступеней, проходя через которые виджет прорисовывается ступенями, а не непрерывно. Однако когда слайдер перемещается на максимум прогрессбар так же заполняется полностью.
0
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
29.01.2015, 11:08
Цитата Сообщение от Ilot Посмотреть сообщение
Вот в этом похоже и проблема. Шаг для progressBar'a явно не связывается с его размерами. Т.е. если даже увеличить длину виджета то получим несколько ступеней, проходя через которые виджет прорисовывается ступенями, а не непрерывно. Однако когда слайдер перемещается на максимум прогрессбар так же заполняется полностью.
Код в студию!
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
29.01.2015, 11:10  [ТС]
alexey_rage, да кода никакого нет. Просто создал форму. Разместил на ней виджеты и привязал сигнал слайдера с слоту прогресс бара.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
29.01.2015, 11:58
Ilot, выкладывайте форму.
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
29.01.2015, 12:08  [ТС]
Dmitriy_M,
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>259</width>
    <height>106</height>
   </rect>
  </property>
  <property name="maximumSize">
   <size>
    <width>800</width>
    <height>16777215</height>
   </size>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <layout class="QVBoxLayout" name="verticalLayout_2">
    <item>
     <layout class="QVBoxLayout" name="verticalLayout">
      <item>
       <widget class="QProgressBar" name="progressBar">
        <property name="minimumSize">
         <size>
          <width>100</width>
          <height>20</height>
         </size>
        </property>
        <property name="maximumSize">
         <size>
          <width>400</width>
          <height>20</height>
         </size>
        </property>
        <property name="sizeIncrement">
         <size>
          <width>1</width>
          <height>1</height>
         </size>
        </property>
        <property name="baseSize">
         <size>
          <width>1</width>
          <height>1</height>
         </size>
        </property>
        <property name="maximum">
         <number>100</number>
        </property>
        <property name="value">
         <number>0</number>
        </property>
        <property name="alignment">
         <set>Qt::AlignBottom|Qt::AlignJustify</set>
        </property>
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="textDirection">
         <enum>QProgressBar::BottomToTop</enum>
        </property>
        <property name="format">
         <string>%p</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QSlider" name="horizontalSlider">
        <property name="maximum">
         <number>100</number>
        </property>
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
       </widget>
      </item>
     </layout>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>259</width>
     <height>20</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusBar"/>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections>
  <connection>
   <sender>horizontalSlider</sender>
   <signal>valueChanged(int)</signal>
   <receiver>progressBar</receiver>
   <slot>setValue(int)</slot>
   <hints>
    <hint type="sourcelabel">
     <x>10</x>
     <y>57</y>
    </hint>
    <hint type="destinationlabel">
     <x>166</x>
     <y>49</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.01.2015, 14:09
Цитата Сообщение от Ilot Посмотреть сообщение
Шаг для progressBar'a явно не связывается с его размерами.
Шаг задается в компоненте, собственно шаг это число-значение, а не шаг в пикселях.
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
29.01.2015, 14:43  [ТС]
Dmitriy_M,
Цитата Сообщение от Avazart Посмотреть сообщение
Шаг задается в компоненте, собственно шаг это число-значение, а не шаг в пикселях.
Я об этом и говорю. Но для progress bar'a нет подобных свойств.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.01.2015, 14:54
У меня все нормально отрабатывает без проблем под виндой.

Вероятно не то слот обрабатываешь
C++ (Qt)
1
2
3
4
void MainWindow::on_horizontalSlider_valueChanged(int value)
{
    ui->progressBar->setValue(value);
}
0
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
29.01.2015, 15:02
Цитата Сообщение от Ilot Посмотреть сообщение
да кода никакого нет. Просто создал форму. Разместил на ней виджеты и привязал сигнал слайдера с слоту прогресс бара.
Только что сделал тоже самое и у меня все работает как часы.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Вероятно не то слот обрабатываешь
Да нет. Судя по коду все он правильно сделал:

Цитата Сообщение от Ilot Посмотреть сообщение
<connection>
<sender>horizontalSlider</sender>
<signal>valueChanged(int)</signal>
<receiver>progressBar</receiver>
<slot>setValue(int)</slot>
Сдается мне, что проблема вообще не в Qt.
1
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
29.01.2015, 15:03  [ТС]
Avazart, нет с этим все в порядке:
Думаю проблема спрятана более глубоко, а именно в ошибке вызова WinAPI функций из библиотек моей винды. Стоит Zwer так что подобное вполне возможно...
Миниатюры
Почему индикатор ProgressBar изменяется скачком?  
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
29.01.2015, 15:05  [ТС]
Все. Проблема снята. Поигрался со стилями. В классической и XP все отображается нормально. Значит действительно все дело было в стилях. Всем спасибо за участие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2015, 15:05
Помогаю со студенческими работами здесь

Почему изменяется сила тока?
Сила тока определяется как количество зарядов, прошедшее через сечение проводника в единицу времени. Если на проводник с сопротивлением R...

почему изменяется вся страница?
у меня главный блок, пока его делал, был забит в border: 1px solid red; как только его убираю, все вообще летит и уплывает, весь диз...

Почему изменяется значение переменной?
Помогите новичку. Я пишу простейший код, но в строках 34-38 происходит что-то странное. Переменная i как-будто становится ссылкой и при...

Список: почему не изменяется координата?
Подскажите, почему в списке не меняется координата у? И как сделать,чтобы она изменялась? import pygame from shape import Shape ...

Почему не изменяется текст консоли
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru