【发布时间】:2018-01-07 20:23:04
【问题描述】:
我有 QLineEdit 的 Qt 样式表 (qss),使用不同的样式进行只读和可编辑。工作正常,但如果我将 QLineEdit 切换为只读(在运行时),样式不会改变。
有没有办法强制更新此类行编辑的样式表?
根据要求,样式表:
QLineEdit {
background: transparent;
border: 1px solid green;
border-radius: 5px;
}
QLineEdit[readOnly="true"] {
background: rgba(40,40,40);
border: 1px solid rgba(50,50,50);
}
【问题讨论】:
-
你能发布你正在使用的样式表吗?
-
按要求添加样式表
-
这是 Qt 样式表的一个已知限制,当您将 CSS 设置到您的小部件时,它只会被处理一次。如果之后更改任何属性,则需要再次强制处理 CSS:wiki.qt.io/Dynamic_Properties_and_Stylesheets
myLineEdit->style()->unpolish(myLineEdit); myLineEdit->style()->polish(myLineEdit);
标签: qt qwidget qtstylesheets