QCalendarWidget-如何禁用日期
QCalendarWidget - How to disable dates
我正在尝试使用启用或禁用日期的QCalendarWidget(不仅是范围日期),但这看起来不可能(https://bugreports.qt.io/browse/QTBUG-198)。
你知道用paintEvent方法(或其他方法)是否可以做到这一点吗?
感谢阅读:)
我做了一些研究。日历小部件包含一个具有常规模型(QCalendarModel
)的常规QTableView
子类(QCalendarView
)。我的尝试是为视图添加一个代理模型,并更改data()
和flags()
函数,以返回我想要禁用的日期的禁用状态。但我需要知道哪个日期显示在一个单元格上。有QCalendarModel::dateForCell
方法,但从代码中无法访问。它相当复杂,并且取决于QCalendarModel
的实现。
所以我认为这几乎是不可能的。我看到的唯一方法是将QCalendarWidget
源代码复制到您的项目中,并重命名类,以避免与现有Qt类发生冲突。然后您可以更改实现。在任何使用最短和最长日期的地方(例如在QCalendarModel::flags
函数中),您都应该使用启用/禁用的类列表来替换它。
如果你在我的尝试中发现有用的东西,我已经在这里发布了代码。代理模型已启动,所有单元格的背景都变为绿色。
相关文章:
- 嵌入方指针压缩已禁用
- 查询SQLite数据库中的日期
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 函数何时会在c++中包含stack_Unwind_Resume调用
- Python中的for循环与C++有何不同
- Log4cpp:以UTC/GMT时区打印日期
- clang格式:禁用排序包含
- 如何在C++中找到active directory中禁用和锁定的窗口帐户
- 如何在C++生成器中禁用"使用调试.dcus"
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 使用C++的日期库读取时间
- 日期格式为C++
- 如何禁用 CPU 的无序执行
- 如何在 C++20 计时中为日期添加天数?
- 如何在QTableView中排序和更改日期格式
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- Gtkmm 会不断检查 Gtk::日历上的所选日期是否发生变化
- 基类中的默认析构函数禁用子类中的移动构造函数(如果有成员)
- 在C++中释放内存期间,迭代器与指针有何不同
- QCalendarWidget-如何禁用日期