【问题标题】:making qt calendar arrows larger使 qt 日历箭头变大
【发布时间】:2019-10-08 06:27:35
【问题描述】:

我使用 QCalendarWidget 创建日历。

我把日历和它的字体弄大了,但是我不知道怎么把日历的箭头也弄大。 我所说的箭头是指顶部的绿色箭头,可以让你来回走动。

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

使用 QCalendarWidget 创建日历 -

    cal = QtGui.QCalendarWidget(self)

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

【问题讨论】:

    标签: python python-2.7 pyqt pyqt4 qcalendarwidget


    【解决方案1】:

    一种可能的解决方案是使用 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_())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多