Программное извлечение значений свойств таблицы стилей QSS

Если у меня есть метка с маржей, установленной с помощью setMargin(), я могу использовать маржу() для получения значения.

Но когда я задаю отступы с помощью таблицы стилей?

ui->label->setStyleSheet("QLabel {padding: 0px 5px 10px 15px;}");

Как я могу получить значения программно? Есть ли функция, которая даст мне значение для данного свойства в таблице стилей? Есть ли такая функция, как ui->label()->styleSheet->getProperty("padding:left")?


person sashoalm    schedule 25.06.2014    source источник
comment
почему вы не можете хранить значения где-нибудь до их использования?   -  person Frederik.L    schedule 25.06.2014
comment
@ Frederik.L Потому что они вводятся пользователем во время выполнения. В любом случае, я спрашиваю, как это сделать, а не должен ли я это делать, поэтому мой вопрос действителен независимо от мотивов, по которым я это делаю.   -  person sashoalm    schedule 25.06.2014
comment
Я спросил только потому, что это избавило бы вас от дополнительной боли, если бы можно было изменить подход. Получение определенных свойств из таблиц стилей в Qt, скорее всего, является грязным болотом с регулярными выражениями.   -  person Frederik.L    schedule 25.06.2014
comment
@Frederik.L Да, я нашел это - qt-project.org/forums/viewthread/4656, они говорят, что это невозможно, если вы не проанализируете его самостоятельно.   -  person sashoalm    schedule 25.06.2014
comment
На самом деле, кто-то уже задавал этот вопрос - stackoverflow.com/ вопросов/4434604/, но там была другая формулировка, поэтому не нашел, прежде чем спросить.   -  person sashoalm    schedule 25.06.2014
comment
@sashoalm Для этого нет геттера, если вы не создадите свой собственный. В конце концов, это CSS-подобный формат, много работы связано со строками. Возможно, вы можете взглянуть на пример таблицы стилей Qt, чтобы увидеть, как они позволяют пользователю выбирать другую таблицу стилей во время выполнения.   -  person Tay2510    schedule 25.06.2014
comment
@sashoalm Если вам действительно нужно управлять таблицами стилей, я бы порекомендовал чистый слой между пользователем и вашим приложением примерно так: netsurf-browser.org/projects/libcss   -  person Frederik.L    schedule 25.06.2014
comment
@ Frederik.L Я этого не понимаю. Qt уже имеет возможность анализировать файлы таблиц стилей и управлять ими, зачем это нужно OP?   -  person Tay2510    schedule 25.06.2014
comment
@Tay2510 Tay2510 Вы никогда не захотите полагаться на регулярное выражение для анализа html, css или любого другого очень разрешительного текста для проверки записей, если только это не является чем-то очень надежным. Взгляните на это объяснение (предположим, что HTML заменен CSS): stackoverflow.com/questions/1732348/   -  person Frederik.L    schedule 25.06.2014