페이지

2016년 3월 26일 토요일

pvdevelop 프로젝트 -UI 편집 방법 - Qwt 위젯

기타 Qwt 위젯들....

Qwt 위젯에 대해 한번, 스윽 보고 가죠. 상세한 설정에 대해서는 설명하지 않습니다.
사용할때 꼭 필요한 연관 함수들의 정의만 살펴보도록 하죠, 위젯 설명 중 기타 함수들이라고 되어 있는 부분은 막상 적용할려고 해보면 반응하지 않거나, 별로 의미가 없다고 본인이 판단한 함수들입니다. 지극히 본인의 판단...(다른 분들은 꼭 필요한 기능일 수 도 있지만)


그림 1. Qwt 위젯


Qwt 위젯의 경우 속성창에서 배경색을 변경하여도 변경되지 않는다.

1. QwtKnob

그림 2. QwtKnob 위젯

knob 값 설정



knob 설정값을 집어 넣습니다.

knob 기호 설정



개인적으로 knobDot가 더 보기 좋네요. 기본은 knoLine입니다.


knob 범위 설정



knob 읽기 전용 설정



기타 knob 함수
  • qwtKnobSetOrientation(p, id, orientation);
    의미 없음

  • qwtKnobSetBorderWidth(p, id, width);
  • qwtKnobSetTotalAngle(p, id, angle);
  • qwtKnobSetKnobWidth(p, id, width);
  • qwtKnobSetMass(p, id, mass);



2. QwtSlider

그림 3. QwtSlider 위젯

 Slider 범위 설정



%뭐가 잘못 됬나 범위 설정이 되지않고 무조건 0, 100의 값이 튀어나온다. 아마 작동하지 않는 기능같다.

 

Slider 방향설정



Slider 스케일 위치




Slider 배경 모양



개인적으로 SliderBgBoth가 가장 마음에 든다.



Slider 값 설정




Slider 읽기 전용 설정





기타 Slider 함수들
  • qwtSliderSetMass(p, id, mass);
  • qwtSliderSetThumbLength(p,id,length);
  • qwtSliderSetThumbWidth(p,id,width);
  • qwtSliderSetBorderWidth(p,id,width);
  • qwtSliderSetMargins(p,id,x,y);




3.QwtCounter

그림 4. QwtCounter 위젯

Counter 최소값 설정 (초기값 : 0)



Counter 최대값 설정 (초기값 : 1)



Counter 증가값 설정 (초기값 : 0.001)



Counter 초기값 설정 (초기값 : 0)




Counter 버튼 증분 설정 (우측, 좌측 화살표 1 버튼)




Counter 버튼 증분 설정 (우측, 좌측 화살표 2 버튼)




기타 QwtCouter 함수
  • qwtCounterSetStepButton3(p,id,n);
  • qwtCounterSetNumButtons(p,id,n);
  • qwtCounterSetIncSteps(p,id,button,n);




4. QwtWheel

그림 5.QwtWheel 위젯

Wheel 방향 설정



Wheel 읽기 전용 설정



Wheel 관성 설정



Wheel 회전 각도 설정 (360도(초기값) 최대)



Wheel 눈금 마크 설정



Wheel 내부 간격 지정(기본값이 좋다)




Wheel 초기값 지정 (0 ~ 100 사이)




기타 QwtWheel 함수
  • qwtWheelSetViewAngle(p,id,angle);
  • qwtWheelSetWheelWidth(p,id,width);



5. QwtThermo

그림 6. QwtThermo 위젯

QwtThermo 위젯 표시 범위 설정



QwtThemo 범위 설정


이 값은 qwtThermoSetScale()함수에서 설정한 min, max 값과 동일하거나 작은 값이어야한다. 실제 qwtThermoSetValue() 함수에서 설정한 값이 이 값 영역을 벗어나면, (작으면 맨 밑바닥에 조금, 크면 전체적으로 색상이 나타난다.)

QwtThemo 값 설정



QwtThemo 위젯, 라벨이 나타나는 방향 설정



QwtThemo 색상 설정



QwtThemo 알람 색상 설정



QwtThemo 알람 Level 설정



QwtThemo 알람 Enable 설정



QwtThemo 파이프 폭 설정




기타 qwtThermo 함수
  • qwtThermoSetBorderWidth(p,id,width);
  • qwtThermoSetMargin(p,id,margin);



6. QwtAnalogClock

그림 7. QwtAnalogClock 위젯

AnalogClock 시간 설정






Value는 초 개념입니다. (5분 30초 인 경우 330)


AnalogClock 모드 설정


기계 지침뿐 아니라 Scale (숫자)도 회전 가능합니다.

AnalogClock 테두리 두께 설정




기타 AnalogClock 다음과 같은 함수들이 있습니다. 사용방법은 잘 모르겠네요.

qwtAnalogClockSetMass(p,id,mass);
qwtAnalogClockSetReadOnly(p,id,rdonly);
qwtAnalogClockSetFrameShadow(p,id,shadow);
qwtAnalogClockShowBackground(p,id,show);
qwtAnalogClockSetWrapping(p,id,wrap);
qwtAnalogClockSetScale(p,id,maxMajIntv,maxMinIntv,step);
qwtAnalogClockSetScaleArc(p,id,min,max);
qwtAnalogClockSetOrigin(p,id,orig);
qwtAnalogClockSetNeedle(p,id,which,r1,g1,b1,r2,g2,b2,r3,g3,b3);





7. QwtDial

그림 8. QwtDial 위젯

Dial 값 설정



Dial 범위 설정



최소, 최대, interval
interval은 값 증가분인 것 같다. 1씩 증가하는 경우 1을 입력하자.

Dial 스케일 설정



maxMajIntv, maxMinIntv, step 세가지 인자가 있지만 테스트 결과 maxMajIntv 값에는 반응하지 않는 것같다.
내가 원하는 것 기준으로 한다면, maxMinintv, step 이 두가지만 사용하여도 된다.
  • maxMinIntv (부 눈금 제어)
    주 눈금 사이에 나타나는 눈금  제어
    예) 주 눈금 간격이 25일때 만약 5개의 눈금을 나타내고 싶으면 5, 10개를 나타내고 싶으면 10
    (주의)  주 눈금 값을 눈금 간격으로 나눈 값이 정수와 같이 떨어져야( 25/10 = 2.5) 제대로된 눈금이 나타난다. 떨어지지 않으면 자동으로 설정값보다 큰 수량으로 나타난다.
  • Step 주 눈금 제어
    예) 만약 qwtDialSetRange()에서 설정한 범위가 0 ~ 100, 25 간격으로 주 눈금을 나타내고 싶으면 25 를 step 값에 넣어주면된다.


Dial ReadOnly



GUI 화면에서 마우스로 값을 변경하고 싶으면 0, 기본적으로 Readonly =1 로 설정되어GUI 마우스 조작으로 변경할 수 없다.


Dial Scale Arc 설정



시계방향으로 값이 증가하며 시작 위치는 하부, 즉 하부가 0입니다. 거의 사용하지 않을 것 같다.


기타 QwtDial 관련 함수들입니다.
  • qwtDialSetMass(p,id,mass);
  • qwtDialSetFrameShadow(p,id,shadow);
  • qwtDialShowBackground(p,id,show);
  • qwtDialSetLineWidth(p,id,width);
  • qwtDialSetMode(p,id,mode);
  • qwtDialSetWrapping(p,id,wrap);
  • qwtDialSetOrigin(p,id,orig);
  • qwtDialSetNeedle(p,id,which,r1,g1,b1,r2,g2,b2,r3,g3,b3);




8. QwtCompass

그림 9. QwtCompass 위젯



QwtCompass 관련 함수들입니다.
  • qwtCompassSetSimpleCompassRose(p,id,numThorns,numThornLevels,width);
  • qwtCompassSetMass(p,id,mass);
  • qwtCompassSetReadOnly(p,id,rdonly);
  • qwtCompassSetFrameShadow(p,id,shadow);
  • qwtCompassShowBackground(p,id,show);
  • qwtCompassSetLineWidth(p,id,width);
  • qwtCompassSetMode(p,id,mode);
  • qwtCompassSetWrapping(p,id,wrap);
  • qwtCompassSetScale(p,id,maxMajIntv,maxMinIntv,step);
  • qwtCompassSetScaleArc(p,id,min,max);
  • qwtCompassSetOrigin(p,id,orig);
  • qwtCompassSetNeedle(p,id,which,r1,g1,b1,r2,g2,b2,r3,g3,b3);
  • qwtCompassSetValue(p,id,value);


이상으로 Qwt 관련 위젯에 대해 알아보았습니다.
위젯 자체에는 함수가 정의되어 있지만, 막상 적용해 보면 동작하지 않는 것 처럼 보이는 함수들이 많이 있었습니다. 하지만 기본적인 기능은 충분히 수행할 수 있습니다.

댓글 없음:

댓글 쓰기