赞
踩
效果如下:
QStackedLayout重叠要素不能按位置自定义,故用一个QHBoxlayout封起三个widget,再用一个widget布置layout
代码如下:
QPushButton *bt2 = new QPushButton; bt2->setText("查看点位所在位置"); bt2->setFixedSize(100,20); connect(bt2,&QPushButton::clicked,this,&MainWindow::showThePoint); jd = new QLineEdit; jd->setFixedSize(100,20); wd = new QLineEdit; wd->setFixedSize(100,20); QHBoxLayout *ct1 = new QHBoxLayout; //用ct1包裹bt2,jd,wd三个widget ct1->addWidget(bt2); ct1->addWidget(jd); ct1->addWidget(wd); //创建QStackedLayout容器 QStackedLayout *ct2 = new QStackedLayout; ct2->setStackingMode(QStackedLayout::StackAll); //ct2加载shapePolygon部件 ct2->addWidget(shapePolygon); //创建一个qwidget承载ct1 QWidget *stackWd = new QWidget; stackWd->setLayout(ct1); //一定要设置该widget的fixsize,不然默认布满QStackedLayout stackWd->setFixedSize(450,35); //ct2加载stackWd部件 ct2->addWidget(stackWd); QVBoxLayout *ct3 = new QVBoxLayout; ct3->addLayout(ct2); QWidget *w = new QWidget; w->setLayout(ct3); setCentralWidget(w);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。