die button konfiguration lade ich aus den jeweiligen xml datein
jedoch bekomme ich es nicht hin das er die Button_widgets neu schreibt ...
hier meine funktionen zum löschen anzeigen
Code: Alles auswählen
void mainForm::clearLayout(QLayout *l) {
int z = 0;
QLayoutItem *item;
while((item = l->itemAt(z)) != 0) {
/*if (item->layout()) {
clearLayout((QLayout *)item->layout());
}*/
delete item->widget();
z++;
}
}
void mainForm::displayboard()
{
int buttonHeight = 20;
int buttonwidth = 20;
//int bigButtonWidth = 65;
int specialButtonWidth = 30;
layKeyb = new QVBoxLayout();
layKeyb->setSpacing(1);
int i ;
QMyButton *bt;
layFirstRow = new QHBoxLayout();
layFirstRow->setSpacing(1);
layRow2 = new QHBoxLayout();
layRow2->setSpacing(1);
layRow3 = new QHBoxLayout();
layRow3->setSpacing(1);
layRow4 = new QHBoxLayout();
layRow4->setSpacing(1);
layRow5 = new QHBoxLayout();
layRow5->setSpacing(1);
layKeyb->addLayout(layFirstRow);
layKeyb->addLayout(layRow2);
layKeyb->addLayout(layRow3);
layKeyb->addLayout(layRow4);
layKeyb->addLayout(layRow5);
if( switchboard == 0 ) {
clearLayout(layFirstRow);
clearLayout(layRow2);
clearLayout(layRow3);
clearLayout(layRow4);
for(i = 0; i < 11; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( specialButtonWidth, buttonHeight));
// bt->setMaximumSize(QSize( specialButtonWidth, buttonHeight));
layFirstRow->addWidget(bt);
buttons.append(bt);
bt->setObjectName(QString::number(i));
}
for(; i < 21; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow2->addWidget(bt);
buttons.append(bt);
}
for(; i < 31; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow3->addWidget(bt);
buttons.append(bt);
}
for(; i < 38; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow4->addWidget(bt);
buttons.append(bt);
}
i++;
kbName = shareDir + "/11.xml";
}
if (switchboard == 1) {
clearLayout(layFirstRow);
clearLayout(layRow2);
clearLayout(layRow3);
clearLayout(layRow4);
for(i = 0; i < 10; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( specialButtonWidth, buttonHeight));
// bt->setMaximumSize(QSize( specialButtonWidth, buttonHeight));
layFirstRow->addWidget(bt);
buttons.append(bt);
bt->setObjectName(QString::number(i));
}
for(; i < 20; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow2->addWidget(bt);
buttons.append(bt);
}
for(; i < 27; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow3->addWidget(bt);
buttons.append(bt);
}
for(; i < 34; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow4->addWidget(bt);
buttons.append(bt);
}
i++;
layKeyb->update();
kbName = shareDir + "/12.xml";
}
if (switchboard == 2) {
clearLayout(layFirstRow);
clearLayout(layRow2);
clearLayout(layRow3);
clearLayout(layRow4);
for(i = 0; i < 7; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( specialButtonWidth, buttonHeight));
// bt->setMaximumSize(QSize( specialButtonWidth, buttonHeight));
layFirstRow->addWidget(bt);
buttons.append(bt);
bt->setObjectName(QString::number(i));
}
for(; i < 14; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow2->addWidget(bt);
buttons.append(bt);
}
for(; i < 18; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow3->addWidget(bt);
buttons.append(bt);
}
for(; i < 26; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow4->addWidget(bt);
buttons.append(bt);
}
i++;
kbName = shareDir + "/13.xml";
}
if (switchboard == 3) {
clearLayout(layFirstRow);
clearLayout(layRow2);
clearLayout(layRow3);
clearLayout(layRow4);
for(i = 0; i < 5; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( specialButtonWidth, buttonHeight));
// bt->setMaximumSize(QSize( specialButtonWidth, buttonHeight));
layFirstRow->addWidget(bt);
buttons.append(bt);
bt->setObjectName(QString::number(i));
}
for(; i < 10; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow2->addWidget(bt);
buttons.append(bt);
}
for(; i < 15; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow3->addWidget(bt);
buttons.append(bt);
}
for(; i < 20; i++) {
bt = new QMyButton(this);
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
layRow4->addWidget(bt);
buttons.append(bt);
}
i++;
kbName = shareDir + "/14.xml";
}
bt = new QMyButton(this); //switch the board
bt->setMinimumSize(QSize( buttonwidth, buttonHeight));
bt->setObjectName(QString::number(i));
bt->setText("Switch the Board");
layRow5->addWidget(bt);
buttons.append(bt);
//update mainForm
if(mainFormLayout->isEmpty()){
mainFormLayout->addLayout(layKeyb);
mainFormLayout->setSpacing(1);}
else {
mainFormLayout->update();
}