Der Abstand des übergeordneten Stylesheets wird erst berücksichtigt, nachdem das untergeordnete Stylesheet angezeigt wirC++

Programme in C++. Entwicklerforum
Guest
 Der Abstand des übergeordneten Stylesheets wird erst berücksichtigt, nachdem das untergeordnete Stylesheet angezeigt wir

Post by Guest »

Ich lege das Stylesheet eines Widgets fest und füge dann danach ein untergeordnetes Widget hinzu. Aber es scheint, dass contentMargins() die tatsächlichen Ränder erst zurückgibt, nachdem das untergeordnete Widget angezeigt wird.

Beispielcode:

Code: Select all

this->setStyleSheet("QLabel {padding: 0px 5px 10px 15px;}");
QLabel *label = new QLabel(this);
qDebug() contentsMargins();
label->show();
qDebug() contentsMargins();
Dies ist die Ausgabe:

Code: Select all

QMargins(0, 0, 0, 0)
QMargins(15, 0, 5, 10)
Beachten Sie, dass das Problem verschwinden würde, wenn ich die Reihenfolge ändern würde, d. h. das untergeordnete Widget hinzufügen bevor das Stylesheet des übergeordneten Elements festlegt.< /p>

Aber aus verschiedenen Gründen kann ich das untergeordnete Widget nicht hinzufügen, bevor ich das Stylesheet festgelegt habe, und ich muss außerdem sicherstellen, dass ich keine falschen Daten bekomme contentMargins(). Gibt es eine Problemumgehung, um dies sicherzustellen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post