使qt日历箭头变大

时间:2019-05-21 19:46:54

标签: python python-2.7 pyqt pyqt4 qcalendarwidget

我使用QCalendarWidget创建日历。

我使日历及其字体变大了,但是我也不知道如何使日历的箭头变大。 箭头表示顶部的绿色箭头,可以让您来回移动。

我正在使用python 2.7,并使用PyQt4。

使用QCalendarWidget创建日历-

    cal = QtGui.QCalendarWidget(self)

图像:您可能会看到箭头与日历的大小不成比例。

enter image description here

1 个答案:

答案 0 :(得分:2)

一种可能的解决方案是使用Qt样式表设置iconSize qproperty:

from PyQt4 import QtGui

if __name__ == "__main__":
    import sys

    app = QtGui.QApplication(sys.argv)

    cal = QtGui.QCalendarWidget()
    fn = cal.font()
    fn.setPointSize(20)
    cal.setFont(fn)

    cal.setStyleSheet("""
        #qt_calendar_prevmonth, #qt_calendar_nextmonth{
            qproperty-iconSize: 40px
        }
    """
    )

    cal.resize(640, 480)
    cal.show()
    sys.exit(app.exec_())

另一种可能的解决方案是使用findChild访问每个按钮并设置iconSize:

from PyQt4 import QtCore, QtGui

if __name__ == "__main__":
    import sys

    app = QtGui.QApplication(sys.argv)

    cal = QtGui.QCalendarWidget()
    fn = cal.font()
    fn.setPointSize(20)
    cal.setFont(fn)

    prev_button = cal.findChild(QtGui.QToolButton, "qt_calendar_prevmonth")
    next_button = cal.findChild(QtGui.QToolButton, "qt_calendar_nextmonth")
    for btn in (prev_button, next_button):
        btn.setIconSize(QtCore.QSize(40, 40))

    cal.resize(640, 480)
    cal.show()
    sys.exit(app.exec_())