各位大神,我在做一个qt的项目,里面要用到布局的问题,在程序中,在widget动态的添加小的widget

各位大神,我在做一个qt的项目,里面要用到布局的问题,在程序中,在widget动态的添加小的widget,第1张

准备

首先 你得有个正常的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了

这里我们一般可以对窗口整体进行布局,我们要用到Layout布局部件。

Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,

然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。

设置qtablewidget为主窗口的中心部件。

代码设置方式:

setCentralWidget(qwidget的名字)

窗口变化时窗口内的部件依然按照原排列方式铺满窗口,则只需设置窗口如下:

直接为QMainWindow设置一个局部方式即可,水平或垂直布局都可以

使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。有几个因素供参考:

1.大小提示(size hint)和最小大小提示(minimum size hint)

2.大小策略(size policy)

3.伸缩因子(stretch factor)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8253984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存