
我在主布局的第二个窗格(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自动将项目中心(移动)到中间.所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)