12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #include "calendarnav.h"
- #include "PaintHelper/painthelper.h"
- #include "ui_calendarnav.h"
- #include "StyleManager/lhstylemanager.h"
- #include <QDebug>
- #include <QFile>
- //#pragma execution_character_set("utf-8")
- CalendarNav::CalendarNav(QCalendarWidget *pCalendar, QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::CalendarNav)
- , m_pCalendar(pCalendar)
- {
- ui->setupUi(this);
- /* 加载qss */
- // QFile file = QString(":/Calendar/qss/CalendarNav_light.qss");
- // if(!file.open(QIODevice::ReadOnly))
- // {
- // qDebug() << "CalendarNav.cpp:QSS打开失败";
- // }
- // QString ss = file.readAll();
- // this->setStyleSheet(ss);
- connect(ui->btnPrevYear, &QPushButton::clicked, m_pCalendar, &QCalendarWidget::showPreviousYear);
- connect(ui->btnPrevMonth, &QPushButton::clicked, m_pCalendar, &QCalendarWidget::showPreviousMonth);
- connect(ui->btnNextMonth, &QPushButton::clicked, m_pCalendar, &QCalendarWidget::showNextMonth);
- connect(ui->btnNextYear, &QPushButton::clicked, m_pCalendar, &QCalendarWidget::showNextYear);
-
- connect(m_pCalendar, &QCalendarWidget::currentPageChanged, this, &CalendarNav::SetYearMonth);
-
- //默认显示当天, QCalendarWidget的默认选中日期也是当天
- SetYearMonth(QDate::currentDate().year(), QDate::currentDate().month());
- // LHStyleManager::Instance()->AddWidget(this);
- setQSS();
- }
- CalendarNav::~CalendarNav()
- {
- delete ui;
- }
- void CalendarNav::hidePreYear(bool flag)
- {
- ui->btnPrevYear->setVisible(!flag);
- }
- void CalendarNav::hidePreMonth(bool flag)
- {
- ui->btnPrevMonth->setVisible(!flag);
- }
- void CalendarNav::hideNextYear(bool flag)
- {
- ui->btnNextYear->setVisible(!flag);
- }
- void CalendarNav::hideNextMonth(bool flag)
- {
- ui->btnNextMonth->setVisible(!flag);
- }
- /* 设置QSS */
- void CalendarNav::setQSS()
- {
- QString qssPath = QApplication::applicationDirPath();
- QString qssFile;
- if(LHStyleManager::Instance()->GetCurSkinStyle() == SkinStyle::eWhiteStyle)
- {
- // qssFile = qssPath + "/white/SelectDate/calendarnav.qss";
- qssFile = ":/Calendar/qss/CalendarNav_light.qss";
- }else if(LHStyleManager::Instance()->GetCurSkinStyle() == SkinStyle::eBlackStyle)
- {
- // qssFile = qssPath + "/black/SelectDate/calendarnav.qss";
- qssFile = ":/Calendar/qss/CalendarNav_dark.qss";
- }
- QFile file(qssFile);
- if(file.open(QIODevice::ReadOnly))
- {
- QString stylesheet = file.readAll();
- this->setStyleSheet(stylesheet);
- file.close();
- } else
- {
- qDebug() << "打开文件失败:" << file.fileName();
- }
- }
- void CalendarNav::SetYearMonth(int year, int month)
- {
- ui->labelYearMonth->setText(QString("%1 年 %2 月").arg(year).arg(month));
- }
|