Qt Demo:日历

开始学习Qt时做的一个小日历,可以实现上一年、上一月、下一月、下一年的跳转,以及输入指定日期跳转(回车或点击按钮)。

在需要展示的地方使用Calendar或将QWidget提升为Calendar即可。

Calendar.h

#ifndef CALENDAR_H
#define CALENDAR_H

#include <QWidget>
#include <QDate>
#include <QDebug>
#include <QSignalMapper>
namespace Ui {
   
class Calendar;
}

class Calendar : public QWidget
{
   
	Q_OBJECT

public:
	Calendar(QWidget *parent = nullptr);
	~Calendar();

	void shownowcalender(QDate _date);
	void clicked(QDate _date);
	void connectSignal();

private:
	Ui::Calendar *ui;
	QDate _date;
	QString graystyle = "QPushButton{"
						"background-color:rgb(230, 230, 230);"
						"color:gray;"
						"font:bold;"
						"border-radius:4px;"
						"}"
						"QPushButton:hover"
						"{"
						"background-color:rgba(69,80,93,0.4);"
						"}"
						"QPushButton:focus{border:5px solid #CFCFCF;}";
	QString whitestyle = "QPushButton{"
						 "background-color:rgb(120, 135, 135);"
						 "color:white;"
						 "font:bold;"
						 "border-radius:4px;"
						 "}"
						 "QPushButton:hover"
						 "{"
						 "background-color:rgba(69,80,93,0.4);"
						 "}"
						 "QPushButton:focus{border:5px solid #CFCFCF;}";
	QString _chooseDate;

signals:
	void send(QString);

private slots:
	void turnmonth(QString month);

	void on_btn_lastyear_clicked();
	void on_btn_lastmonth_clicked();
	void on_btn_nextmonth_clicked();
	void on_btn_nextyear_clicked();
	void on_btn_choosemonth_clicked();

	void on_btn_confirmed_clicked();
	void on_btn_close_clicked();

	void onChooseDate();
};

#endif // CALENDAR_H

Calendar.cpp

#include "Calendar.h"
#include "ui_Calendar.h"

/*
 * 构造函数
 */
Calendar::Calendar(QWidget *parent)
	: QWidget(parent, Qt::Popup)
	, ui(new Ui::Calendar)
	, _date(QDate::currentDate())
	, _chooseDate()
{
   
	ui-><
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值