QlistWidget如何固定宽度?



如图,想要的效果是改变窗口大小时,右边的宽度不变,左边的宽度改变。现在正好相反。不知道如何设置才可以达到想要的效果。谢谢!
MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent)
{

    QLabel *labelleft = new QLabel("Left Description:");
    QVBoxLayout *vlayoutleft = new QVBoxLayout;
    vlayoutleft->addWidget(labelleft);
    vlayoutleft->addStretch();


    QLabel *labelright = new QLabel("Right");
    labelright->setFixedWidth(100);
    QListWidget *listWidget = new QListWidget(this);
    listWidget->addItem(new QListWidgetItem(QIcon(":/pics/FolderOpen.ico"), "folder1"));
    listWidget->addItem(new QListWidgetItem(QIcon(":/pics/FolderOpen.ico"), "folder2"));

    QVBoxLayout *vlayoutright = new QVBoxLayout;
    vlayoutright->addWidget(labelright);
    vlayoutright->addWidget(listWidget);

    QHBoxLayout *mainayout = new QHBoxLayout;
    mainayout->addLayout(vlayoutleft);
    mainayout->addLayout(vlayoutright);
    setLayout(mainayout);
    mainayout->setSpacing(30);
}

6 个解决方案

#1


就是用鼠标拖动边框时,整个窗口大小改变,想要左侧缩放,右侧大小不变。

#2


左边加个弹簧

#3


引用 2 楼 u012628469 的回复:
左边加个弹簧

加弹簧后中间就会有空隙,我想是左侧的自动扩大范围,右边的宽度不变。

#4


本帖最后由 dext 于 2014-03-14 22:50:02 编辑
加个弹簧,空隙可以设置,Widget 完全可以自行设置大小策略
QSizePolicy

#5


setMaxSize
setMinSize
最大最小以固定就不能变了

#6


引用 3 楼 loong460 的回复:
Quote: 引用 2 楼 u012628469 的回复:

左边加个弹簧

加弹簧后中间就会有空隙,我想是左侧的自动扩大范围,右边的宽度不变。

看4楼的解释~~
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告