0
import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
         super(Example, self).__init__()

         self.initUI()

    def initUI(self):      

        cal = QtGui.QCalendarWidget(self)
        cal.setGridVisible(True)
        cal.move(20, 20)
        cal.clicked[QtCore.QDate].connect(self.showDate)

        self.lbl = QtGui.QLabel(self)
        date = cal.selectedDate()
        self.lbl.setText(date.toString())
        self.lbl.move(130, 260)

        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Calendar')
        self.show()

   def showDate(self, date):     
        self.lbl.setText(date.toString())

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

此代码生成一个显示日期的日历小部件,我需要能够通过用户输入将所谓的约会附加到相关日期,然后向用户显示该日期附加了一个约会,即日期变为红色

将所有约会放在一个列表(或文本文件)中对我来说也很方便,这样用户可以在他们选择时一次查看它们

提前致谢

4

1 回答 1

1

theQCalendarWidget旨在用作日期选择器,因此它并不是真正为您尝试做的事情而设计的。如果您只想以不同的方式呈现某些单元格,那么您不能创建派生自的 on 类QCalendarWidget并覆盖它的paintCell()方法。

于 2012-05-03T12:56:34.077 回答