Phi*_*hil 9 c++ python qt qscrollarea qgridlayout
我有QHBoxLayout我的形式添加到它3点的布局上.第二个有关于我的问题的项目.
我有一个QVBoxLayout在主要布局的第二个窗格(QHBoxLayout).这QVBoxLayout有一个QScrollArea补充addWidget.
这QScrollArea是一个QWidget名为"scrollContents"的父级,后者又包含一个QGridLayout.
我正在为此添加一个自定义创建的小部件,QGridLayout它具有固定的高度.我们100px现在可以考虑这个问题.
如果这个QGridLayout项目的总高度小于表单本身,则它们将这些小部件垂直居中,并在它们之间留出相同的空间.
如果只有一个小部件,它就会出现在中间.但我希望它们从上到下列出.
例:[###代表的区域QScrollArea中,有一个QWidget用了 QGridLayout.
OK -> DESIRED -> NOT DESIRED AND WHAT HAPPENS
########## ########## ##########
# |item| # # |item| # # #
# |item| # # # # #
# |item| # # # # #
# |item| # # # # |item| #
# |item| # # # # #
# |item| # # # # #
# |item| # # # # #
########## ########## ##########
|item|
|item|
|item|
Run Code Online (Sandbox Code Playgroud)
基本上:如果有9个"行"的空间,当添加单个项目时,它会出现在第5个位置的中间位置.如果有9个或更多,它们就会出现.如果有8个或更少,则它们之间的空间被扩展以使它们全部居中.
我怎么解决这个问题?
谢谢.
Ole*_*ber 15
QGridLayout :: addWidget()有alignment参数.以下代码适用于我:
gridLayout->addWidget(new QPushButton("Button"), 0, 0, Qt::AlignTop);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11049 次 |
| 最近记录: |