调整设置支持重新布局

This commit is contained in:
work-zym\zhangyiming 2024-12-04 11:30:38 +08:00
parent a40a56b260
commit 85daf3be65
3 changed files with 49 additions and 14 deletions

Binary file not shown.

@ -244,7 +244,7 @@ void LeadScheme::initLay()
} }
#else #else
QStringList Sches; QStringList Sches;
Sches<<"8通道"<<"16通道"<<"64通道"; Sches<<"8通道"<<"16通道"<<"64通道"<<"sss"<<"kk";
gridlayOut->addWidget(labScheme,0,colmn++,Qt::AlignHCenter); gridlayOut->addWidget(labScheme,0,colmn++,Qt::AlignHCenter);
QScrollArea * scroll = new QScrollArea; QScrollArea * scroll = new QScrollArea;
scroll->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); scroll->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
@ -254,8 +254,8 @@ void LeadScheme::initLay()
gridlayOut->addWidget(scroll,1,colmn-1,12,1); gridlayOut->addWidget(scroll,1,colmn-1,12,1);
// QGridLayout * gridShech = new QGridLayout; // QGridLayout * gridShech = new QGridLayout;
QVBoxLayout * vlayHH = new QVBoxLayout; m_vlayHH = new QVBoxLayout;
wShech->setLayout(vlayHH); wShech->setLayout(m_vlayHH);
for (int i= 0 ; i<Sches.size();i++) for (int i= 0 ; i<Sches.size();i++)
{ {
QPushButton * btn = new QPushButton(Sches.at(i)); QPushButton * btn = new QPushButton(Sches.at(i));
@ -263,10 +263,10 @@ void LeadScheme::initLay()
btn->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); btn->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pButtonGroup0->addButton(btn); pButtonGroup0->addButton(btn);
//gridShech->addWidget( btn,i+1,0); //gridShech->addWidget( btn,i+1,0);
vlayHH->addWidget(btn); m_vlayHH->addWidget(btn);
btn->setCheckable(true); btn->setCheckable(true);
} }
vlayHH->addStretch(); m_vlayHH->addStretch();
scroll->setWidget(wShech); scroll->setWidget(wShech);
@ -388,18 +388,52 @@ void LeadScheme::initLay()
border-radius:10px;\ border-radius:10px;\
}"); }");
QVBoxLayout * vlayAll = new QVBoxLayout; QVBoxLayout * vlayAll = new QVBoxLayout;
vlayAll->addWidget(Wall); vlayAll->addWidget(Wall);
//vlayAll->addLayout(hbtn); //vlayAll->addLayout(hbtn);
setLayout(vlayAll); setLayout(vlayAll);
} }
void LeadScheme::reLay()
{
QLayoutItem *child;
while ((child = m_vlayHH->takeAt(0)) != 0)
{
//删除Stretch(弹簧)等布局
if (child->spacerItem())
{
m_vlayHH->removeItem(child);
continue;
}
//删除布局
//删除布局
QWidget * w = child->widget();
void LeadScheme::slotSave() if(w->inherits("QAbstractButton"))
{ {
QPushButton * btn = static_cast<QPushButton *>(w);
if(btn)
{
bool ok = btn->text().compare("8通道")== 0 ||btn->text().compare("16通道")== 0 ||btn->text().compare("64通道")== 0 ;
if(ok)
{
continue;
}
}
}
m_vlayHH->removeWidget(child->widget());
child->widget()->setParent(0);
if (w)
{
w->deleteLater();
}
}
}
void LeadScheme::slotSave()
{
QJsonObject jsonSave; QJsonObject jsonSave;
for(int i = 0;i< m_listMoveBtns.size();i++ ) for(int i = 0;i< m_listMoveBtns.size();i++ )
@ -416,7 +450,7 @@ void LeadScheme::initLay()
} }
OperatorJson json; OperatorJson json;
json.savaJson(jsonSave,QApplication::applicationDirPath()+"/0.json"); json.savaJson(jsonSave,QApplication::applicationDirPath()+"/0.json");
reLay();
} }
void LeadScheme::slotNew() void LeadScheme::slotNew()
{ {

@ -20,7 +20,8 @@ public:
void init(); void init();
bool initconnect(); bool initconnect();
void initLay(); void initLay();
private:
void reLay();
private slots: private slots:
void slotSave(); void slotSave();
void slotNew(); void slotNew();
@ -30,7 +31,7 @@ private:
QPushButton m_btndelete; QPushButton m_btndelete;
QPushButton m_btnCancel; QPushButton m_btnCancel;
QPushButton m_btnOK; QPushButton m_btnOK;
QVBoxLayout * m_vlayHH ;
QList<MoveButton*> m_listMoveBtns; QList<MoveButton*> m_listMoveBtns;
QLineEdit m_editShecName; QLineEdit m_editShecName;
}; };