首页 > 代码库 > Qt-QCalendarWidget只能选中周一及获取更新日期
Qt-QCalendarWidget只能选中周一及获取更新日期
获得更新日期:
1 // ui.calendarWidget->setVerticalHeaderFormat (QCalendarWidget::ISOWeekNumbers);// lyy : 2016/8/26 8:54:14 说明:显示星期数2 ui.calendarWidget->setVerticalHeaderFormat (QCalendarWidget::NoVerticalHeader);// lyy : 2016/8/26 8:56:07 说明:不显示星期数
1 void OnCalendarSelectChanged();2 // lyy : 2016/8/26 8:27:56 说明:天或年更改时3 void OnCalendarYearMonthChanged (int iYear, int iMonth);
1 connect (ui.calendarWidget, SIGNAL (selectionChanged()), this, SLOT (OnCalendarSelectChanged()));2 connect (ui.calendarWidget, SIGNAL (currentPageChanged (int , int)), this, SLOT (OnCalendarYearMonthChanged (int, int)));
1 QString AlarmPaper::strDateFromat = QObject::tr ("yyyy-MM-dd"); 2 void AlarmPaper::OnCalendarSelectChanged() 3 { 4 //const QChar* str=GlobalConstant::strDateFromat.data(); 5 mFlagTime = QDateTime (ui.calendarWidget->selectedDate()); 6 QString strTime = mFlagTime.toString (strDateFromat); 7 ui.timeLabel->setText (strTime); 8 } 9 void AlarmPaper::OnCalendarYearMonthChanged (int iYear, int iMonth)10 {11 // lyy : 2016/9/20 10:57:18 说明:update the time mFlage12 mFlagTime = QDateTime (QDate (iYear, iMonth, mFlagTime.date().day()));13 QString strTime = mFlagTime.toString (strDateFromat);14 ui.timeLabel->setText (strTime);15 }
只能选周一,写在这了图片前不好加文字
1 #include "layout_demo.h" 2 3 layout_Demo::layout_Demo (QWidget *parent, Qt::WFlags flags) 4 : QMainWindow (parent, flags) 5 { 6 ui.setupUi (this); 7 /* QDesktopWidget* desktopWidget = QApplication::desktop(); 8 QRect clientRect = desktopWidget->availableGeometry(); 9 QRect applicationRect = desktopWidget->screenGeometry();10 ui.centralWidget->setFixedSize (applicationRect.width(), applicationRect.height());*/11 //testDemo = new testWindow (ui.mainWindow_widget);12 // testDemo->show();13 //14 //15 connect (ui.calendarWidget, SIGNAL (selectionChanged()), this, SLOT (OnCalendarSelectChanged()));16 connect (ui.calendarWidget, SIGNAL (currentPageChanged (int , int)), this, SLOT (OnCalendarYearMonthChanged (int, int)));17 ui.calendarWidget->setSelectionMode (QCalendarWidget::SelectionMode (1));18 // ui.calendarWidget->setFirstDayOfWeek (Qt::DayOfWeek::Friday);19 oldDate = ui.calendarWidget->selectedDate();20 // QDate firstFriday (ui.calendarWidget->yearShown(), ui.calendarWidget->monthShown(), 1);21 // QDate endRange = firstFriday.addMonths (1);22 // ui.calendarWidget->setDateRange (firstFriday, endRange);23 //24 }25 26 void layout_Demo::OnCalendarYearMonthChanged (int iYear, int iMonth)27 {28 if (oldDate.day() == ui.calendarWidget->selectedDate().day())29 {30 QDate firstFriday (ui.calendarWidget->yearShown(), ui.calendarWidget->monthShown(), 1);31 // oldDate = ui.calendarWidget->selectedDate();32 oldDate = firstFriday;33 }34 35 // lyy : 2016/9/12 11:11:49 说明: 判断是不是手动还是自动36 }37 void layout_Demo::OnCalendarSelectChanged()38 {39 //const QChar* str=GlobalConstant::strDateFromat.data();40 QString strTime = ui.calendarWidget->selectedDate().toString ("ddd");41 // QDate firstFriday (ui.calendarWidget->yearShown(), ui.calendarWidget->monthShown(), 1);42 43 if (ui.calendarWidget->selectedDate().dayOfWeek() == 1 && oldDate.month() == ui.calendarWidget->monthShown())44 {45 // QMessageBox::information (this, "test", "d");46 oldDate = ui.calendarWidget->selectedDate();47 }48 49 else50 {51 ui.calendarWidget->setSelectedDate (oldDate);52 }53 54 //ui.timeLabel->setText (strTime);55 //56 }57 layout_Demo::~layout_Demo()58 {59 }
1 #include <QtGui/QMainWindow> 2 #include "ui_layout_demo.h" 3 #include <QDesktopWidget> 4 #include <QApplication> 5 #include <QRect> 6 #include "testwindow.h" 7 #include <QCalendarWidget> 8 #include <QMessageBox> 9 #include <QDate>10 11 class layout_Demo : public QMainWindow12 {13 Q_OBJECT14 15 public:16 layout_Demo (QWidget *parent = 0, Qt::WFlags flags = 0);17 ~layout_Demo();18 19 private slots:20 // lyy : 2016/8/26 8:28:40 说明:日期更改时21 void OnCalendarSelectChanged();22 // lyy : 2016/8/26 8:27:56 说明:天或年更改时23 void OnCalendarYearMonthChanged (int iYear, int iMonth);24 private:25 Ui::layout_DemoClass ui;26 testWindow *testDemo;27 QDate oldDate;28 };
http://pan.baidu.com/s/1eR2c6NC
Qt-QCalendarWidget只能选中周一及获取更新日期
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。