УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

[BugFixed] Пропадает шкала у элемента управления Slider после потери фокуса


Автор Сообщение
Сообщение создано: 07. 07. 2014 [12:59]
pawl_raph
Павел Фролов
Создатель темы
Зарегистрирован(а) с: 07.07.2014
Сообщения: 5
После клика по левой части окна управления ПЛК пропадают шкалы у Slider элементов справа. После попыток вернуть фокус, перемещения слайдеров шталы не появляются. Геометрия:z учтановлена в максимальное значение из всех элементов на форме - 30. В чем может быть проблема и как это можно поправить?
Вложенный файл

SliderScale.png (Тип файла: image/png, Размер: 60.39 килобайт) — 1888 загрузок
Сообщение создано: 07. 07. 2014 [17:43]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"pawl_raph" wrote:

После клика по левой части окна управления ПЛК пропадают шкалы у Slider элементов справа.

Если это родной Qt Slider, то OpenSCADA его не рисует, а значит или это Вы его сами дизактивируете или это проблема Qt.
На тестовом кадре, с элементами формы, это воспроизводится?

"pawl_raph" wrote:

Геометрия:z учтановлена в максимальное значение из всех элементов на форме - 30. В чем может быть проблема и как это можно поправить?

Я его на вашем скрине вообще не вижу, Вы его сами не скрываете?

Из элементов формы я такое видел только с примитивом "Документ", если он лежит над всеми и при этом отключен, но в виду странностей с сигналами в WebKit всё под ним часто оказывается недоступным, в рабочей версии.

Learn, learn and learn better than work, work and work.
Сообщение создано: 08. 07. 2014 [18:11]
pawl_raph
Павел Фролов
Создатель темы
Зарегистрирован(а) с: 07.07.2014
Сообщения: 5
Слайдеры в правой части окна это базовый виджет "Эдемент формы" с установленным типом "Слайдер".
Сам ничего я не скрываю.
Код обработки окна:
ev_cur = ev_rez = "";
off=0;
while(true)
{
ev_cur=Special.FLibSYS.strParse(event,0,"\n",off);
if( ev_cur == "" ) break;
SYS.messErr("TEST","Event: "+ev_cur);
// Если нажата кнопка bt1, то : <делаем что-нибудь>
// В Вашем случае необходимо установить значение переменной arm_kvit равное 1
if( ev_cur == "ws_SliderChange:/ValveSet1") {
valvectrl = (ValveSet1_value*(AirValve1_max-AirValve1_min))/100+AirValve1_min;
SYS.messErr("ValveSet1","Event: "+ev_cur + valvectrl);
}else if( ev_cur == "ws_SliderChange:/ValveSet2") {
valvectrllb = (ValveSet2_value*(AirValve1_maxlb-AirValve1_minlb))/100+AirValve1_minlb;
SYS.messErr("ValveSet2","Event: "+ev_cur + valvectrllb);
}else if( ev_cur == " ws_BtRelease:/SwitchOn") {
SwitchOn_name="Включить";
}else if( ev_cur == " ws_BtPress:/SwitchOn") {
SwitchOn_name="Выключить";
}else ev_rez += (ev_cur+"\n");
}
event=ev_rez;
Что мне можно попробовать сделать? Выставить Z у всех виджетов в одно значение? Попробую...
Вложенный файл

SliderScale1.png (Тип файла: image/png, Размер: 197.39 килобайт) — 1643 загрузок
Сообщение создано: 08. 07. 2014 [18:45]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"pawl_raph" wrote:

Что мне можно попробовать сделать? Выставить Z у всех виджетов в одно значение? Попробую...

У себя такое увидел при некорректном значении поля конфигурации слайдера, а именно если оно пустое, тогда при запуске есть только ось и ползунок, а по нажатию на ползунок остаётся только он и скрытый.

Learn, learn and learn better than work, work and work.
Сообщение создано: 09. 07. 2014 [13:26]
pawl_raph
Павел Фролов
Создатель темы
Зарегистрирован(а) с: 07.07.2014
Сообщения: 5
Для проверки работы слайдера проделал следующие операции:
1. Создал страницу "Библиотека: originals -> Группа элементов".
2. Поместил на страницу "Библиотека: originals -> Элементы форм".
2.1. Установил параметры для элемента формы: Тип -> Слайдер, Активный -> true.
2.2. Конфигурацию пробовал "0:0:100:1:10" для горизонтального слейдера и "1:0:100:1:10" для вертикального.
3. В проекте создавал тестовый фрейм на котором размещал описанную выше страницу.
4. После нескольких кликов в районе шкалы (но не на полосе слайдера и на самом движке слайдера), шкала пропадает. Поведение аналогично как для вертикального так и горизонтального слайдера. Ползунок и работоспособность остаются, но без шкалы.
Сообщение создано: 09. 07. 2014 [22:22]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"pawl_raph" wrote:

4. После нескольких кликов в районе шкалы (но не на полосе слайдера и на самом движке слайдера), шкала пропадает. Поведение аналогично как для вертикального так и горизонтального слайдера. Ползунок и работоспособность остаются, но без шкалы.

У меня в таком случае шкала скрыта была сразу.
Похоже на эффект прозрачной роли "Window" в области контейнера страниц, с чем конкретно QSlider так работает.
Заменил на роль контейнера и сейчас вроде нормально, т.е. и прозрачность страниц в контейнере работает и с виджетами Qt проблем нет.

Learn, learn and learn better than work, work and work.
Сообщение создано: 10. 07. 2014 [11:33]
pawl_raph
Павел Фролов
Создатель темы
Зарегистрирован(а) с: 07.07.2014
Сообщения: 5
Проверил поведение на плате ARM процессором, там такого эффекта нет. Правда и сам слайдер выглядит по другому - в виде прямоугольного ползунка. Похоже проблема в QT на моем компьютере или в профиле KDE.
Сообщение создано: 10. 07. 2014 [13:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"pawl_raph" wrote:

Проверил поведение на плате ARM процессором, там такого эффекта нет. Правда и сам слайдер выглядит по другому - в виде прямоугольного ползунка. Похоже проблема в QT на моем компьютере или в профиле KDE.

Вы с исправлением проверяли?
Только что совсем правильно сделал, а именно просто включил распространение палитры для вложенных окон, с помощью Qt::WA_WindowPropagation.
Проверяйте, у меня сейчас всё нормально!

Learn, learn and learn better than work, work and work.
Сообщение создано: 11. 07. 2014 [12:47]
pawl_raph
Павел Фролов
Создатель темы
Зарегистрирован(а) с: 07.07.2014
Сообщения: 5
Скачал последний svn(revision 2132), собрал, проверил. Версия в программе - 0.9.
С последними изменениями шкала точно также пропадает на моем компьютере.
PS. до этого работал с версией 0.8.0.10 LTS
Сообщение создано: 11. 07. 2014 [15:52]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"pawl_raph" wrote:

Скачал последний svn(revision 2132), собрал, проверил. Версия в программе - 0.9.
С последними изменениями шкала точно также пропадает на моем компьютере.

Тогда точно особенности стиля. Попробуйте сменить на дефолтный "Пластик".

Learn, learn and learn better than work, work and work.



0462