如何删除 QCalendarWidget 中选定的日期矩形和小部件中的小图标
Posted
技术标签:
【中文标题】如何删除 QCalendarWidget 中选定的日期矩形和小部件中的小图标【英文标题】:How to remove selected date rectangle in QCalendarWidget and small icons in widgets 【发布时间】:2014-11-04 14:24:22 【问题描述】:我正在编写自己的 QCalendarWidget 实现。我希望日期可以选择,但我不想看到默认选择矩形。它看起来像这样:
还有我的代码:
in constructor: setSelectionMode(SingleSelection);
void ShiftCalendar::paintCell(QPainter *painter, const QRect &rect, const QDate &date) const
if(date == selectedDate())
fillCell(painter, rect, CalendarWidget::cellFillColor);
drawCellText(painter, rect, QString::number(date.day()), color);
void ShiftCalendar::fillCell(QPainter *painter, const QRect &rect, const QColor &color) const
painter->save();
painter->setRenderHint(QPainter::Antialiasing);
painter->setPen(QPen(color));
painter->setBrush(QBrush(color));
painter->drawEllipse(fRect.center(), rect.width() / 2, rect.height() / 2);
painter->restore();
我能做什么?
图片中可以看到的第二个问题是按钮图标和组合框图标的尺寸过小。它在桌面上看起来不错,但在 android 上它一直很小。修改图标大小没有任何效果。
编辑:
将selection-background-color: rgba(0, 0, 0, 0);
添加到小部件的样式表解决了第一个问题。第二个仍未解决。
【问题讨论】:
图标的类型是什么?图标的实际大小是多少? 这些是 128x128 的 PNG 我知道转储问题,但是,您是否在某个地方指定了尺寸? QML,...?? 【参考方案1】:QAbstractItemView *view = findChild<QAbstractItemView*>();
if(view)
view->setItemDelegate(//inherit QItemDelegate and override paint event);
【讨论】:
【参考方案2】:您的图标有不同的 DPI 版本吗?这个页面讨论了各种图标应该有多大: http://developer.android.com/design/style/iconography.html
【讨论】:
这是 Qt 的问题,这个链接对我没有帮助。以上是关于如何删除 QCalendarWidget 中选定的日期矩形和小部件中的小图标的主要内容,如果未能解决你的问题,请参考以下文章
Qt入门系列开发教程基础控件篇QCalendarWidget日历控件
如何使用 SQL 数据库更改 QCalendarWidget 中单元格的背景颜色