12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #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/CalendarNav.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);
- }
- 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);
- }
- void CalendarNav::SetYearMonth(int year, int month)
- {
- ui->labelYearMonth->setText(QString("%1 年 %2 月").arg(year).arg(month));
- }
|