中国哪里建设最多,四川做网站优化价格,网站建好怎么发布,合川集团网站建设一、前言 QCalendarWidget类继承于QWidget#xff0c;是Qt设计用来让用户更直观的选择日期的窗口部件。 时间微调输入框 QCalendarWidget根据年份和月份初始化#xff0c;程序员也通过提供公共函数去改变他们#xff0c;默认日期为当前的系统时间#xff0c;用户通过鼠标和…一、前言 QCalendarWidget类继承于QWidget是Qt设计用来让用户更直观的选择日期的窗口部件。 时间微调输入框 QCalendarWidget根据年份和月份初始化程序员也通过提供公共函数去改变他们默认日期为当前的系统时间用户通过鼠标和键盘去修改选中的日期或者通过公共函数setSelectedDate改变它也可以设置选择模式selectionMode去限制用户的行为通过设置最小时间minimumDate和最大时间maximumDate限制可选择的日期范围。 日历的样式第一行默认显示星期几周六和周天是标记为红色第一列显示一年中的第几周默认没有网格线第二列显示为系统时间的每周第一天也就是说如果你系统时间是在北京那么第一天是周一如果是在美国那么第一天就是周日可以通过setFirstDayOfWeek修改默认值。 二、QCalendarWidget类
1、dateEditEnabled 该属性表示是否使用一个弹出框来选择当前选中时间按下非修饰键(空格、字母等)会弹出一个日期编辑框如果按下的是数字弹窗并认为按下的数字为输入弹窗的小部件类似于QDateEdit,修改之后会在一定的延迟dateEditAcceptDelay之后生效。
bool isDateEditEnabled() const
void setDateEditEnabled(bool enable) 2、dateEditAcceptDelay 该属性表示在dateEditEnabled为true的情况下弹窗小部件编辑结束之后延迟多久生效参数为毫秒ms。
int dateEditAcceptDelay() const
void setDateEditAcceptDelay(int delay)
3、firstDayOfWeek 该属性表示每周的第一天是周几。
Qt::DayOfWeek firstDayOfWeek() const
void setFirstDayOfWeek(Qt::DayOfWeek dayOfWeek) Qt::DayOfWeek描述Qt::Monday周一Qt::Tuesday周二Qt::Wednesday周三Qt::Thursday周四Qt::Friday周五Qt::Saturday周六Qt::Sunday周日 4、gridVisible 该属性表示是否显示表格线默认为false不显示。
bool isGridVisible() const
void setGridVisible(bool show) 5、horizontalHeaderFormat 该属性表示水平标题的格式。 SingleLetterDayNames显示单个字母比如M表示Monday中文只会显示周而不是一、二、三这样是有bug的所以该格式只适用于英文。 ShortDayNames显示简称名比如英文Mon表示Monday中文周一表示星期一。 LongDayNames显示全称比如英文Monday中文星期一。 NoHorizontalHeader不显示水平标题。
HorizontalHeaderFormat horizontalHeaderFormat() const
void setHorizontalHeaderFormat(HorizontalHeaderFormat format) LongDayNames 6、verticalHeaderFormat 该属性表示垂直标题的格式默认为ISOWeekNumbers显示为一年中的第几周还有一种NoVerticalHeader不显示。
VerticalHeaderFormat verticalHeaderFormat() const
void setVerticalHeaderFormat(VerticalHeaderFormat) NoVerticalHeader 7、maximumDate 该属性表示日历可选择的最大日期如果设置了最大日期而选择日期大于最大日期那么当前日期会被调整。如果使用setSelectedDate选择日期大于最大日期那么不会生效。
QDate maximumDate() const
void setMaximumDate(const QDate date)
8、minimumDate 该属性表示日期可选择的最小日期效果参照maximumDate。
QDate minimumDate() const
void setMinimumDate(const QDate date)
9、navigationBarVisible 该属性表示导航是否显示默认为true下个月、上个月、月选择、年选择可视。
bool isNavigationBarVisible() const
void setNavigationBarVisible(bool visible) navigationBarVisible false 10、selectedDate 该属性表示当前选择的日期设置不可超出最大值maximumDate和最小值minimumDate范围否则无效。
QDate selectedDate() const
void setSelectedDate(const QDate date)
11、selectionMode 该属性表示用户选择日期的策略。 默认为SingleSelection用户可以通过鼠标或者键盘在范围内进行日期的选择。 还有一种是NoSelection用户不能选择日期但是依然可以通过程序selectedDate去选择。
SelectionMode selectionMode() const
void setSelectionMode(SelectionMode mode)
12、公共函数
1dateTextFormat 获取文本格式使用QTextCharFormat封装类包含文本字体属性、布局属性等内容。可返回每个日期的文本格式使用一个QMap保存每个日期对应的格式这样Map内容很大不建议这么干尽量使用第二个。
QMapQDate, QTextCharFormat dateTextFormat() const
QTextCharFormat dateTextFormat(const QDate date) const 设置文本格式使用QTextCharFormat封装类包含文本字体属性、布局属性等内容。
void setDateTextFormat(const QDate date, const QTextCharFormat format)
2monthShown 获取当前显示的月份。
int monthShown() const
3yearShown 获取当前显示的年份。
int yearShown() const
4weekdayTextFormat 获取显示日期的文本格式参考dateTextFormat
QTextCharFormat weekdayTextFormat(Qt::DayOfWeek dayOfWeek) const 设置日期显示的文本格式参考dateTextFormat
void setWeekdayTextFormat(Qt::DayOfWeek dayOfWeek, const QTextCharFormat format)
5setCurrentPage 设置当前要显示年和月类似setSelectedDate。
void setCurrentPage(int year, int month)
6setDateRange 设置当前可选日期的范围相当于setMaximumDate和setMinimumDate。
void setDateRange(const QDate min, const QDate max)
7showNextMonth 主动显示下个月。
void showNextMonth()
8showNextYear 主动显示下一年。
void showNextYear() 9showPreviousMonth 主动显示上个月。
void showPreviousMonth()
10showPreviousYear 主动显示上一年。
void showPreviousYear() 11showSelectedDate 主动显示当前选择的日期比如你主动showPreviousMonth显示了上个月在没有重新选中日期的情况下使用此函数可以回到当前选择的日期当然也可以记住选择用setSelectedDate回到过去。
void showSelectedDate() 12showToday 主动显示系统日期。
void showToday()
13、信号
1activated 用户按下RETURN键、Enter键或者双击日历的时候触发得到当前选择的时间。
void activated(const QDate date)
2clicked 用户点击选择时间的时候触发但是如果用户点击的区域超出范围或者用户设置选择策略selectionMode为NoSelection那么不会触发。
void clicked(const QDate date)
3currentPageChanged 当前页改变的时候触发得到新页的年份和月份。
void currentPageChanged(int year, int month)
4selectionChanged 当前选择的日期改变的时候触发用户可以通过鼠标、键盘或者setSelectedDate改变当前选择的时间。
void selectionChanged()