gir*_*fee 5 qt dock toolbar qdockwidget qgridlayout
我正在尝试创建一个可停靠工具栏(类似于您在 Photoshop 中使用的工具栏),其中包含 2 x (n) 的按钮网格。我的想法是使用以空白 QWidget 为父级的 QGridLayout,将其添加到 QDockWidget,并将按钮添加到 QGridLayout。除了对齐之外,这似乎有效。
我已经设置了按钮的对齐方式...
myLayout->addWidget(button1,0,0,1,1,Qt::AlignTop);
myLayout->addWidget(button2,0,1,1,1,Qt::AlignTop);
myLayout->addWidget(button3,1,0,1,1,Qt::AlignTop);
myLayout->addWidget(button4,1,1,1,1,Qt::AlignTop);
Run Code Online (Sandbox Code Playgroud)
...但是网格正在扩展到 QDockWidget 的整个高度,如下所示:
按钮也水平扩展,以填充整个空间。我想我可以限制水平调整大小的能力(如果可能的话?)。
我在文档中忽略了一个函数来更好地控制 GridLayout 来限制它填充父小部件的整个宽度/高度吗?作为一个附带问题,有没有办法防止 QDOckWidget 在某个方向上调整大小?
使用 QVBoxLayout,首先添加 QGridLayout,然后添加如下所示的拉伸:
my_vboxlayout->addLayout( my_gridlayout );
my_vboxlayout->addStretch( 1 );
Run Code Online (Sandbox Code Playgroud)
或者,您可以告诉 QGridLayout 最后一行应该扩展到最大尺寸,这将推动按钮。
在你的情况下,它将是:
mygridlayout->setRowStretch( 2, 1 ); // give 3rd row maximum space
Run Code Online (Sandbox Code Playgroud)
文档链接:
QBoxLayout
QGridLayout
归档时间: |
|
查看次数: |
6881 次 |
最近记录: |