def paintCell(self, painter: QtGui.QPainter, rect: QtCore.QRect, date: typing.Union[QtCore.QDate, datetime.date]) -> None: painter.save() with open(get_resource("config.json")) as file: if date.toPyDate().strftime("%Y-%m-%d") in json.loads( file.read())["favorites"]: painter.fillRect(rect, QtGui.QColor.fromRgb(255, 255, 0)) if (date.month() != self.monthShown()): painter.setPen(QtGui.QColor("#888888")) elif date.dayOfWeek() == 6 or date.dayOfWeek() == 7: painter.setPen(QtGui.QColor("red")) tags = self.get_tags_from_date_file(date.toPyDate()) rect.adjust(0, 0, -1, -1) pen = painter.pen() pen.setColor( QtGui.QColor.fromHsl(pen.color().hue(), pen.color().saturation(), pen.color().lightness(), 150)) painter.setPen(pen) painter.drawRect(rect) pen.setColor( QtGui.QColor.fromHsl(pen.color().hue(), pen.color().saturation(), pen.color().lightness(), 255)) painter.setPen(pen) painter.drawText(rect, QtCore.Qt.AlignTop, str(date.day())) text = "" try: for tag in tags[:5]: if len(tag) > 12: tag = str(tag[:12]) + "..." text += f" {tag} \n" except TypeError: text = "" font = QtGui.QFont() font.setPixelSize(10) painter.setFont(font) brush = painter.background() random.seed(date) brush.setColor(QtGui.QColor().fromHsl(randint(0, 255), randint(0, 255), randint(200, 255))) painter.setPen(QtGui.QColor("black")) painter.setBackground(brush) painter.setBackgroundMode(QtCore.Qt.OpaqueMode) painter.drawText(rect, QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter, text) painter.restore()
def enrollmentDateChanged(self): # Fetch the currently selected date, this is a QDate object date = self.calEnrollment.selectedDate() # This is a gives us the date contained in the QDate as a native # python date[time] object pydate = date.toPyDate() self.txtEnrollment.setText(pydate.isoformat())
def updateDisplay(self, date): date=date.toPyDate() p,m,s,e=self.report.transit_cycle_num(date) self.pdisplay.setText(str(p)) self.mdisplay.setText(str(m)) self.sdisplay.setText(str(s)) self.edisplay.setText(str(e)) pdatenums=self.report.personal_date_nums(date) self.pydisplay.setText(str(pdatenums["year"])) self.pmdisplay.setText(str(pdatenums["month"])) self.pddisplay.setText(str(pdatenums["day"]))
def create_new_db(self): group = self.values['group'] save_path = self.values['save_path'] date = self.values['start_date'] logo = self.values['logo'] if self.values['auth'] == 'file': keyfile = self.values['file'] password = None else: keyfile = None password = self.values['password'] crypted = os.path.join(save_path, '{}.gmandb'.format(group.replace(' ', '_'))) self.status.showMessage( 'Erstelle verschlüsselte Datei {}'.format(crypted)) handler = crypto.CryptedDBHandler(crypted, keyfile, password) db_path = handler.decrypt() Session = db.get_session('sqlite:///{}'.format(db_path), False) s = Session() self.status.showMessage('Erstelle Datenbanktabellen') db.create_tables(s) self.status.showMessage('Schreibe Basisdaten') base = db.BaseData(group_name=group, start=date.toPyDate(), internal_code=self.values['internal_name'], institution=self.values['own_name']) if logo: with open(logo, 'rb') as fp: base.logo = fp.read() s.add(base) self.status.showMessage('Schreibe Punktschlüssel') for points, school, text in IHK: s.add( db.Ratings(key='IHK', points=points, school_grade=school, text_rating=text)) self.status.showMessage('Schreibe Kurse') for job, courses in COURSES.items(): for course in courses: s.add(db.CourseData(job=job, title=course)) s.commit() s.close() self.status.showMessage('Die Datenbank ist jetzt verwendbar') QtWidgets.QMessageBox.information( self, 'Datenbank wurde erfolgreich erstellt', 'Bewahren Sie den Schlüssel / das Passwort gut auf!') self.db_created.emit(handler)
def birthChanged(self, date): senderNoi = int(self.sender().objectName()[3]) self.scenario.indiv[senderNoi].update({'birth': date.toPyDate()}) self.emit(SIGNAL('compoChanged()'))
def sendMinDate(self, date): self.currentMinData = date.toPyDate() self.setMinDateSignal.emit(self.currentMinData)
def show_date(self, date): self.updated_date.emit(date.toPyDate()) self.text_area.setText(date.toString())