如何将约会附加到日历小部件pyqt和python

时间:2012-05-02 20:27:05

标签: python user-interface calendar widget pyqt

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()

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

将列表(或文本文件)中的所有约会都放在一边也是很方便的,这样用户可以在选择

时立即查看所有约会

提前致谢

1 个答案:

答案 0 :(得分:1)

QCalendarWidget用作日期选择器,所以它并不是真正针对你尝试做的事情。 如果您只想以不同方式呈现某些单元格,那么您可以创建从QCalendarWidget派生的类,并覆盖它的paintCell()方法。