我有一个 QCalendarWidget
并且一个月中的某些天是彩色的(例如假期是红色的)。当我选择一个有颜色的日子时,选择会清除颜色,我看不到它的原始颜色。但是当我取消选择那一天时 - 颜色又回来了。请看图片。
有没有办法即使选择了一天也能保持颜色?我知道有一种方法可以通过委托(delegate)为 QTableView
执行此操作,但我找不到用于 QCalendarWidget
的类似方法。有任何想法吗?感谢您的宝贵时间。
最佳答案
您可以像这样访问日历小部件的内部 QTableView
对象:
QCalendarWidget *c = new QCalendarWidget;
QTableView *view = c->findChild<QTableView*>("qt_calendar_calendarview");
if (view)
{
view->setItemDelegate(new MySuperCalendarDelegate);
}
然后您可以使用自定义委托(delegate)来设置适当的背景色和前景色。
你也可以查看my previous answer在 QCalendarWidget
样式上。
关于c++ - QCalendarWidget 选择颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29643063/