2016-08-17 8 views
0

나는 에서 Windows 10Qt는 5.7을 사용하고 있는데 나는 QML에 비교적 새로운 해요. 현재 응용 프로그램에 몇 가지 색상을 추가하고 색상에 일반 정수 RGB 값 (16 진수가 아닌)을 사용하는 방법이없는 것으로 보입니다. 특정 색상에 항목을 설정하는합니다 (QML 코드와 함께 QColor의 Qt는 C++ 기능을 사용하지 않고) 세 가지 직접적인 방법으로 (내가 아는 한)가 있습니다QML : 표준 정수 RGB 값을 사용하는 방법은 무엇입니까?

  • Qt.rgba(...)이 - 두 가지 문제가있다 이 첫 번째는 RGB 값에 대한 부동 소수점 숫자의 사용이고 두 번째 것은 이상한 호출입니다. 나는 함수를 앞에두고 Qt.을 넣어야한다는 것을 자주 잊어 버리고 있습니다. 이것은 성가신입니다 (그러나 이것은 단지 나 : P입니다) :

    Rectangle { 
        width: 100 
        height: 100 
        color: Qt.rgba(0.502, 0.502, 0.502, 1) 
        border.width: 1 
    } 
    
  • # - 여기에도 alpha 값의 배치면에서 Qt.rgba(...) 함수와 비교하면 두 가지 문제가 있습니다. (여기서는 의 마지막 인수와 같이 끝 부분이 아니라 앞에 있습니다.) 및 16 진 사용되는 두 번째 :

    Rectangle { 
        width: 100 
        height: 100 
        color: "#FF808080" 
        border.width: 1 
    } 
    
  • 색상 이름 -이 ((아마도) 영어가 모국어이며 Qt를 사용할 수 색 이름의 광대 한 양에 익숙하다면 좋은이다 SVG color naming) :

    Rectangle { 
        width: 100 
        height: 100 
        color: "grey" 
        border.width: 1 
    } 
    

위의 세 가지 색상 표기법은 모두 동일한 색상 (RGB : 128, 128, 128)을 나타냅니다. 나는 그것들에 더 익숙하기 때문에 정상적인 정수 값을 사용하는 것을 선호한다. QML에서 추가 노력없이 이들을 사용할 수 있습니까?

+1

작동하는지는 모르겠지만'color : Qt.rgba (128/255., 128/255., 128/255., 1)'는 테스트할만한 가치가 있습니다. – Gwen

답변

3

번호

@Gwen, 당신은 수레로의 전환을 정수를 취하고 않습니다 자신의 함수를 정의하고 어디서나 이것을 호출 할 수있는 말을 꺼 구축.

+0

이것이 표준 기능으로 포함되지 않은 이유는 무엇입니까? – rbaleksandar

+0

나는 잘 모른다. Qt 개발자를 기다리는 동안 메일 링리스트에 질문해야 할 것입니다. – Mitch

+1

@rbaleksandar 나는 QML을 이미 4 년 사용하고, UI의 색상과 같은 정수의 사용법에 대해서도 생각하지 않았다. – QtRoS

관련 문제