各位大神,我在做一个qt的项目,里面要用到布局的问题,在程序中,在widget动态的添加小的widget
在大的widget中是用的gridlayout,但是当两边的小widget不一样时,无法对齐。就如同下图所示。我的一个解决方法是重绘,将原来的窗体信息存储起来,然后又更新...
在大的widget中是用的gridlayout,但是当两边的小widget不一样时,无法对齐。就如同下图所示。我的一个解决方法是重绘,将原来的窗体信息存储起来,然后又更新,但是效率太低了,我用过的语言是c++,平台是vs2008,。希望各位大神能帮忙解决下,重分酬谢
展开
2个回答
展开全部
准备
首先 你得有个正常的app项目(这是必须的 extension必须依附于某个app中 当然 不这样 你也无法单独安装某个widget)
打开项目工程 选择新建一个target 在 Application Extension 中选择today exntension 然后填入名字 确认即可
这时你的项目里多个一个target 同时也多了下面
接下来 删掉这个讨厌的 MainInterface.storyboard 然后修改plist文件中的 NSExtension 字段
删掉 NSExtensionMainStoryboard 字段
添加 NSExtensionPrincipalClass 字段 并设为TodayViewController (你也可以指定其他的ViewController)
修改完以后 Widget就可以开始编译运行了
运行
关于调试Widget 我推荐使用模拟器而不用真机 因为在研究过程中我发现真机调试的效果非常差 经常提示无法连接到手机(也有可能是5S的性能够不?) 导致无法正常的debug 或者无法reinstall 而模拟器则好点(至少能顺利的打印出log) 但是每次修改好代码以后 最好都先退出模拟器 再重新编译运行 如果你退出重新运行时提示下面这个错误 不用怕 多运行两次就ok了
首先 你得有个正常的app项目(这是必须的 extension必须依附于某个app中 当然 不这样 你也无法单独安装某个widget)
打开项目工程 选择新建一个target 在 Application Extension 中选择today exntension 然后填入名字 确认即可
这时你的项目里多个一个target 同时也多了下面
接下来 删掉这个讨厌的 MainInterface.storyboard 然后修改plist文件中的 NSExtension 字段
删掉 NSExtensionMainStoryboard 字段
添加 NSExtensionPrincipalClass 字段 并设为TodayViewController (你也可以指定其他的ViewController)
修改完以后 Widget就可以开始编译运行了
运行
关于调试Widget 我推荐使用模拟器而不用真机 因为在研究过程中我发现真机调试的效果非常差 经常提示无法连接到手机(也有可能是5S的性能够不?) 导致无法正常的debug 或者无法reinstall 而模拟器则好点(至少能顺利的打印出log) 但是每次修改好代码以后 最好都先退出模拟器 再重新编译运行 如果你退出重新运行时提示下面这个错误 不用怕 多运行两次就ok了
展开全部
别用gridlayout,窗口整体布局用HBoxLayout,左边用一个VBoxLayout,右边用一个VBoxLayout,然后用HBoxLayout的addLayout将两个VBoxLayout添加到HBoxLayout不就行了
更多追问追答
追问
我也这样做了的。因为要动态添加widget嘛,用vBoxLayout添加后会叠加在一起。我想想在widget的底部加一个弹簧,每次添加窗体的时候,把原来的弹簧删除,添加了widget之后又new一个弹簧。这样虽然也有开销,但是比重绘付出的代价要小得多。不过还是谢谢你的回答
追答
动态往vBoxLayout中添加部件不会叠加吧,我怎么没遇到过
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询