>

스타일 시트를 QCalendarWidget 에 적용하려고합니다. 이미 변경했습니다. 현재 내 코드는 다음과 같습니다.

QCalendarWidget QWidget{
background-color:magenta;
color: green;
}
QCalendarWidget QToolButton{
background-color:black;
color: green;
icon-size: 30px;
}
QCalendarWidget QMenu{
background-color:magenta;
color: green;
}
QCalendarWidget QAbstractItemView:enabled{
background-color: yellow;
color: black;
}
QCalendarWidget QAbstractItemView:disabled{
background-color: yellow;
color: white;
}
QCalendarWidget QMenu{
    background-color: rgb(255, 46, 221);
}
QCalendarWidget QSpinBox{
    background-color: black;
}

결과는 다음과 같습니다.

문제는 녹색 화살표, 요일 수 및 요일을 사용자 정의하는 방법을 찾을 수 없다는 것입니다. 어떤 제안?

  • 답변 # 1

    이것은 월 버튼에만 작동하고 약간 해키이며 하드 코딩 된 개인 메소드를 기반으로한다는 것을 명심하십시오. objectName을 사용하여 특정 QToolButton ( "qt_calendar_prevmonth"및 "qt_calendar_nextmonth")을 가져오고 아이콘을 설정합니다. image: url 를 사용하지 마십시오 QToolButton에서는 작동하지 않으므로

    이론적으로 헤더의 레이아웃을 통해 객체 이름을 찾고 첫 번째 및 마지막 QToolButton을 확인할 수 있습니다. 첫 번째 및 마지막 QToolButton은 조금 더 어려울 수 있지만 아마도 더 안전 할 수 있습니다. .

    #qt_calendar_prevmonth {
        background-color: blue;
        icon-size: 30px;
        qproperty-icon: url(prevmonth.svg);
    }
    #qt_calendar_nextmonth {
        background-color: orange;
        icon-size: 30px;
        qproperty-icon: url(nextmonth.svg);
    }
    
    

    불행히도 QCalendarWidget의 작동 방식으로 인해 스타일 시트를 통해 "헤더"의 형식을 변경할 수있는 방법이 없으므로 QCalendarWidget의 headerTextFormat (), dateTextFormat () 등을 고수해야합니다.

    fmt = cal.headerTextFormat()
    fmt.setForeground(QtGui.QColor('green'))
    fmt.setBackground(QtGui.QColor('orange'))
    cal.setHeaderTextFormat(fmt)
    
    

  • 이전 node.js - NGINX를 사용하여 포트 80에서 8080으로 전달
  • 다음 Create React App에서 이미지를 돋우는 데 이점이 있습니까?