c – Qt QGridLayout自动将项目中心(移动)到中间.

c – Qt QGridLayout自动将项目中心(移动)到中间.,第1张

概述我的表单上有一个QHBoxLayout,添加了3个布局.第二个有关于我的问题的项目. 我在主布局的第二个窗格(QHBoxLayout)上有一个QVBoxLayout. 这个QVBoxLayout使用addWidget添加了一个QScrollArea. 此QScrollArea是名为“scrollContents”的QWidget的父级,后者又包含QGridLayout. 我正在为这个具有固定高度的 我的表单上有一个QHBoxLayout,添加了3个布局.第二个有关于我的问题的项目.

我在主布局的第二个窗格(QHBoxLayout)上有一个QVBoxLayout.
这个QVBoxLayout使用addWidget添加了一个QScrollArea.

此QScrollArea是名为“scrollContents”的QWidget的父级,后者又包含qgridLayout.

我正在为这个具有固定高度的qgridLayout添加一个自定义创建的小部件.我们现在可以考虑这个100px.

如果此qgridLayout具有项目,其总高度小于表单本身,则它们将这些小部件垂直居中,并在它们之间具有相同的空间量.

如果只有一个小部件,它就会出现在中间.但我希望它们从上到下列出.

例:[###表示QScrollArea的区域,其中有qgridLayout的QWidget.

OK      ->   DESIRED    -> NOT DESIRED AND WHAT HAPPENS##########    ##########               ########### |item| #    # |item| #               #        ## |item| #    #        #               #        ## |item| #    #        #               #        ## |item| #    #        #               # |item| ## |item| #    #        #               #        ## |item| #    #        #               #        ## |item| #    #        #               #        ###########    ##########               ##########  |item|  |item|   |item|

基本上:如果有9个“行”的空间,当添加单个项目时,它会出现在第5个位置的中间位置.如果有9个或更多,它们就会出现.如果有8个或更少,则它们之间的空间被扩展以使它们全部居中.

我怎么解决这个问题?

谢谢.

解决方法 还有一种方法与trollixx的答案不同:在qgridLayout的“底部”添加一个虚拟小部件,其垂直大小策略设置为扩展.见 this answer,which also contains an example with a toolbar. 总结

以上是内存溢出为你收集整理的c – Qt QGridLayout自动将项目中心(移动)到中间.全部内容,希望文章能够帮你解决c – Qt QGridLayout自动将项目中心(移动)到中间.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址:https://54852.com/langs/1237545.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存