A PySide6 based activity calendar widget
Project description
Activity Calendar Widget.
One of my personal Qt based project to showcase my long honed skills in Python-bindings for Qt (C++) : PyQt, PySide.
Usage
pip install activity_calendar_widget
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from activity_calendar_widget import *
class MainWidget(QWidget):
def __init__(self):
super().__init__()
lay = QVBoxLayout(self)
self.acw = ActivityCalendarWidget(
title="Activity",
default_activities={
"03-2024": {
2: "Event on day 2",
4: "Event on day 4",
6: "Event on day 6",
10: "Event on day 10",
11: "Event on day 11",
17: "Event on day 17",
20: "Event on day 20",
25: "Event on day 25",
26: "Event on day 26",
27: "Event on day 27",
31: "Event on day 31",
},
"04-2024": {
2: "Event on day 2",
6: "Event on day 6",
9: "Event on day 9",
10: "Event on day 10",
11: "Event on day 11",
17: "Event on day 17",
26: "Event on day 26",
31: "Event on day 31",
},
},
# default_month=datetime(2022, 1, 1)
)
s = 400
self.acw.setMinimumSize(s, s)
self.acw.setMaximumSize(s, s)
lay.addWidget(self.acw, 1, Qt.AlignmentFlag.AlignCenter)
class Application(QApplication):
def __init__(self) -> None:
super().__init__([])
self.win = MainWidget()
# self.win = QColorDialog()
# self.win.currentColorChanged.connect(lambda c: print(c))
self.win.setWindowTitle("Activity Calendar")
self.win.setMinimumSize(500, 500)
self.win.show()
app = Application()
app.exec()
Figma Link
https://www.figma.com/community/file/1153390420369492172
credits to Lindsay
Images
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for activity_calendar_widget-0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4859e2a8e4ed9f17e071b7d7766d3bf04b9ba3c9673140793839999f9211fe95 |
|
MD5 | 2047998a8c1d9cd01bfba7794fe02c86 |
|
BLAKE2b-256 | e41783d1d6b4dc83bdc93dca44be8d51aec76eae9979443fa70231832a726e40 |