2016-08-05 1 views
0

The applicationWie erzwinge ich GridLayout, um jede Zelle die gleiche Größe zu machen? Wie entferne ich unnötige Abstände?

Wie Sie sehen können, macht es die PushButtons nicht gleich groß. Auch wenn ich sie mit diesen Eigenschaften

butt->setMaximumHeight(50); 
butt->setMaximumWidth(50); 
butt->setMinimumHeight(50); 
butt->setMinimumWidth(50); 

erstellt habe, um sicherzustellen, dass sie die genaue Größe haben, die ich will.

das ist der Teil meines Codes, wo ich meine Schaltflächen erstellen:

for (int r = 0; r < 10; r++){ 
     for (int c = 0; c < 10; c++) 
     { 
      QPushButton *butt = new QPushButton(); 
      butt->setMaximumHeight(50); 
      butt->setMaximumWidth(50); 
      butt->setMinimumHeight(50); 
      butt->setMinimumWidth(50); 
      ui->gridLayout->addWidget(butt, r, c); 
      gameTable[r][c] = butt; 
     } 
    } 

Hier wird gameTable wie folgt definiert:

QPushButton *gameTable[10][10]; 

Auch, wie Sie sehen können, gibt es Räume zwischen die Spalten. Wie werde ich sie loswerden?

+0

Können wir mehr des Codes sehen? Vor allem der Teil, wo Sie mit den Tasten herumspielen und sie in das Layout legen. – thuga

+0

Hinzugefügt, danke für Ihren Vorschlag. –

+0

Der Code, den Sie gepostet haben, sieht gut aus. Ich habe es sogar getestet und es zeigt ein perfektes Raster. Könnte das Problem woanders sein? – thuga

Antwort

0

Um gridlayout wie vorgesehen verhalten, ist es notwendig Größe Einschränkung setzen festgelegt:

ui->gridLayout->setSizeConstraint(QLayout::SetFixedSize); 
Verwandte Themen