2013-06-11 8 views
0

사용자가 QT 디자이너를 사용하여 디자인 한 특정 양식을 편집하는 경우 배경색이 예를 들어로 바뀌어야합니다. 빨간색으로. 프로그래밍 방식으로 한 필드에서 처리 할 수 ​​있지만 QLineEdits 및 QComboBoxes가 많습니다. 한 번에 선택한 수의 요소에 대해이를 수행 할 수 있습니까? QT 디자이너에서만이 작업을 수행 할 수 있습니까?텍스트 편집 이벤트 후 색상 변경

미리 도움 주셔서 감사합니다.

건배,

+0

하는 이벤트가 착색을 트리거 해야하는 :

yourControl.editingFinished.connect(onFinishedEditing_slot) 

다음과 같은 슬롯을 정의 ? 그리고 UI에 대한 설명을 제공해 주시겠습니까? –

답변

1

벤 그냥 가 슬롯에 당신의 lineEdit 제어의의 TextChanged 신호를 연결합니다. 그런 다음 해당 슬롯에서 필요한대로 컨트롤 스타일 시트를 변경하십시오.

예 :

yourControl.textChanged.connect(onEdit_slot) 

다음

def onEdit_slot(): 
    sender().setStyleSheet("background-color: rgba(255, 254, 134, 150);") 

PS 같은 슬롯을 정의 : 당신이 그것을 변경할 때까지 유지됩니다 제어에 초점을 편집 한 후 및 손실, 그래서 동일하게 유지됩니다 그 스타일을 기억 빨간색 배경입니다. 단, 컨트롤의 는 다른 슬롯 신호 editingFinished 연결 스타일 시트를 다시 그것을 다시 전환

예 :

def onFinishedEditing_slot(): 
    sender().setStyleSheet("") 
+0

감사합니다, 매력처럼 작동합니다! –