Заполнение родительской таблицы стилей не учитывается до тех пор, пока не будет показан дочерний элемент.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Заполнение родительской таблицы стилей не учитывается до тех пор, пока не будет показан дочерний элемент.

Сообщение Anonymous »

Я устанавливаю таблицу стилей виджета, а затем после этого добавляю дочерний виджет. Но похоже, чтоcontentMargins() не возвращает реальные поля до тех пор, пока не будет показан дочерний виджет.

Пример кода:

Код: Выделить всё

this->setStyleSheet("QLabel {padding: 0px 5px 10px 15px;}");
QLabel *label = new QLabel(this);
qDebug() contentsMargins();
label->show();
qDebug() contentsMargins();
Вот результат:

Код: Выделить всё

QMargins(0, 0, 0, 0)
QMargins(15, 0, 5, 10)
Обратите внимание: если бы я изменил порядок, то есть добавил дочерний виджет перед установкой родительской таблицы стилей, проблема исчезла бы.< /p>

Но по разным причинам я не могу добавить дочерний виджет перед настройкой таблицы стилей, и мне также нужно быть уверенным, что мне не передают ложные данные из содержимоеМаргинс(). Есть ли обходной путь, чтобы гарантировать это?

Подробнее здесь: https://stackoverflow.com/questions/244 ... d-is-shown
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»