![]() |
1
1
阅读QCalendarWidget之后 source code 可以 首先,从QObject派生的类(包括小部件)不应该有复制构造函数。对此的解释 is here . QObject析构函数是虚拟的,所以不管你如何声明你的, it will be virtual too 扩展类以更改其行为时,请查找虚拟函数。如果没有,很好地表明继承可能不是最好的方法。在本例中,我们有三种虚拟方法:
前两个是来自QWidget的virtual,负责调整widget的大小。它们可能并不重要。最后一个可能会做你想做的部分事情:当用户选择了一周中的某一天时,让整个星期都显示为选中状态。 现在,对于可能的问题: 选择模式属性是非虚拟的,而且是枚举值。不能扩展枚举类型以包含新建议的WeekSelection值。如果不必在运行时更改选择模式,则可以安全地忽略此属性,只使用周选择(忽略一个属性是一个很好的指示,你的小部件应该 一个QCalendarView而不是 是
在某些情况下,您可以使用
问问你自己新的小部件 从QCalendarWidget。如果没有,那么继承会让您陷入死胡同,请考虑复制QCalendarWidget的源代码并根据您的需要进行调整。你可以走得更远 clone the Qt source code ,更改原始小部件本身以包含您的行为,并向诺基亚提出合并请求。 |
![]() |
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 1 年前 |
|
h-swell · QT——如何使用布局类? 1 年前 |
|
LeftFrog · Qt中macOS上的按钮颜色不变 1 年前 |
![]() |
Bobby · Qt是否与RAII设计模式不兼容? 1 年前 |
![]() |
Harvey · 如何更改Qt Creator配置项目的默认套件? 1 年前 |