entfernt habe ich diese QDialog
mit einer verschachtelten QGroupBox
, die in dem Dialog Konstruktor entfernt werden (durch verschiedene QDialog
Methoden, wie hide()
, setVisible()
und). Leider, wenn ich es entferne, bleibt der Dialog die gleiche Größe. Das lustige daran ist, dass die Haupt QGroupBox
(die mit dem verschachtelten QGroupBox
) schrumpft, aber der Rest des Fensters nicht. Folglich gibt es große Räume um das Haupt QGroupBox
.Kompaktierung QDialog wenn Elemente
Ich habe versucht:
- Aufruf
QDialog::resize()
im Ctor und durchQMetaObject::invokeMethod()
, die Höhe von 30 (der Größe der entferntenQGroupBox
) zu reduzieren, aber das macht nichts. - Aufruf
QDialog::adjustSize()
(auch in der ctor und durchQMetaObject::invokeMethod()
), aber das erhöht nur beide Dimensionen (wie verrückt groß!). - Ändern der "Vertical Policy"
QDialog
von "Preferred" (was auch immer das bedeutet) auf "Minimum", aber das tut nichts.
Die QDialog
hat ein Rasterlayout.
Edit: Ich habe festgestellt, dass es diese verticalSpacers
über und unter der Haupt QGroupBox
gibt. Was auch immer ich ihre Richtlinien und Größenhinweise mache, macht keinen Unterschied - sie machen immer noch das ganze Fenster wirklich groß, wenn ich adjustSize()
rufe. Entfernen sie macht Marken adjustSize()
bekommen die Höhe richtig, aber die Breite ist immer noch viel zu groß. Entfernen sie und ruft nicht adjustSize()
dann bewirkt, dass die wichtigsten QGroupBox
bleiben die gleiche Größe, und nicht schrumpfen aufgrund der Entfernung von einigen seiner Kinder.
Ich benutze Qt 4.8 auf Ubuntu 16.04.