首先 你得有个正常的app项目(这是必须的 extension必须依附于某个app中 当然 不这样 你也无法单独安装某个widget)
打开项目工程 选择新建一个target 在 Application Extension 中选择today exntension 然后填入名字 确认即可
这时你的项目里多个一个target 同时也多了下面
接下来 删掉这个讨厌的 MainInterfacestoryboard 然后修改plist文件中的 NSExtension 字段
删掉 NSExtensionMainStoryboard 字段
添加 NSExtensionPrincipalClass 字段 并设为TodayViewController (你也可以指定其他的ViewController)
修改完以后 Widget就可以开始编译运行了
运行
关于调试Widget 我推荐使用模拟器而不用真机 因为在研究过程中我发现真机调试的效果非常差 经常提示无法连接到手机(也有可能是5S的性能够不) 导致无法正常的debug 或者无法reinstall 而模拟器则好点(至少能顺利的打印出log) 但是每次修改好代码以后 最好都先退出模拟器 再重新编译运行 如果你退出重新运行时提示下面这个错误 不用怕 多运行两次就ok了可以,table widget是qt4才引入的一个控件。大体的做法就是使用QItemDelegate类,然后在 createEditor接口返回想要使用的QWidget。
还有种简单的方法是使用QTableWidget的setCellWidget的接口直接将QWidget设置进去。Qt Quick Timeline模块可启用基于关键帧的动画和参数化。Qt Design Studio和Qt Quick Designer直接支持该模块,并带有时间线编辑器以创建基于关键帧的动画。
要将QML类型导入到您的应用程序中,请在qml文件中使用以下import语句:
时间线可用于为项目设置动画并定义其行为。在特定时间点只能激活一个时间轴。
动画项目属性使它们的值可以在中间值之间移动,而不是立即更改为目标值。例如,要在场景中移动项目,可以对控制项目位置x和y的属性进行动画处理,以使项目的位置在到达目标位置的途中在关键帧处发生变化。同样,您可以在关键帧处更改项目的颜色和比例属性,以使其看起来越来越近。
Qt Design Studio和Qt Quick Designer包含一个时间线编辑器,用于创建基于关键帧的动画。
Qt Quick允许您在 State 对象中声明各种UI状态。这些状态由基本状态的属性更改组成,并且可以是组织UI逻辑的有用方法。过渡是可以与项目关联的对象,以定义其属性由于状态变化而变化时的动画效果。您可以将时间轴动画绑定到Qt Design Studio和Qt Quick Designer中的状态。
时间轴上关键帧的值。
缓动曲线可以附加到关键帧。
关键帧组包含项目特定属性的所有关键帧,并且始终属于时间轴。
指定带有一系列关键帧的时间轴,这些关键帧包含对象属性的值。时间轴允许根据关键帧及其缓动曲线来指定项目的值。
时间轴既可以用于动画,也可以控制项目的行为。
例如,可以创建一个进度条,其中当前帧反映进度。
指定如何设置时间轴的当前帧属性的动画。这会设置时间轴目标对象的属性的动画。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)