버튼 스타일의 단 하나의 기능 만 변경하는 방법은 모두 기본 스타일의 기능을 대체하는 것처럼 보입니다. 하나의 기능 만 변경하는 방법이 있습니까?QT QML 구성 요소의 을 변경하는
예를 들어, 빨간색 버튼을 원한다고 가정하십시오.
import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
ApplicationWindow
{
visible: true
width: 640
height: 480
Button
{
height: 200
width: 200
text: "Press me"
style: ButtonStyle
{
// changes background but also throws away everything else
// in standard button style
background: Rectangle { color: "red" }
}
}
}
다시 정의하는 background
와 ButtonStyle
버튼의 색상을 변경하기위한 좋은,하지만 시스템 기본 ButtonStyle
내에서 다른 모든 사라 작동합니다. 예를 들어, 테두리와 클릭 하이라이트.
한 기능을 변경하고 나머지 기능을 유지하는 방법은 무엇입니까?
죄송합니다. 이전에 질문이 있으시면 죄송합니다.
덕분에,
업데이트
위의 질문은 컨트롤 1,하지만 같은 문제가 컨트롤 2. 여기에 컨트롤 2.
import QtQuick 2.7
import QtQuick.Controls 2.1
ApplicationWindow
{
visible: true
width: 640
height: 480
Button
{
height: 200
width: 200
text: "Press me"
// changes background but also throws away everything else
// in standard button style
background: Rectangle { color: "red" }
}
}
bugger. 미안 해요, Controls2.Button을 사용하고 있어야합니다. 나는 이것을 바꿨지 만,'Label' ->'contentItem'을 제외하고는 똑같습니다. 그렇다면 나는 배경을 말할 때마다 같은 문제를 겪는다. 나는 쉐이더와'Colorize'에 대한 당신의 생각을 좋아합니다. 이 속성을 변경하는 것보다 스타일을 추가하는 것이 더 좋은 방법이라고 생각합니다. FWIW, 나는 당신이 어떻게 든 원래를 상속받을 수 없다면 속성이 나쁜 디자인이라고 생각합니다. 감사. 나는 너의 제안과 함께 갈거야. –
실제로 사용하고있는 것을 반영하도록 질문을 업데이트하십시오. 두 가지 매우 다른 스타일 API입니다. – Mitch
QtQuick.Controls 2.x와 함께 가지고있는 몇 가지 가능성에 대한 답변을 이미 업데이트했지만 질문을 업데이트하고 일치시켜 다른 사람들에게도 도움이 될 수 있습니다. 찾고있는 내용이 포함되어 있다면 답변을 수락하는 것을 잊지 마시기 바랍니다. 다른 질문에 대한 모든 대답은 다음과 같이하십시오 : 답변 할 시간이 걸린 사람들에게 예의 바르고, 사람들과 동일한 문제가있는 경우 사람들이 답변을 찾도록 도울 수 있습니다. – derM