【问题标题】:CSS style on Radio and checked button is not working in RCP app e4收音机和选中按钮上的 CSS 样式在 RCP 应用程序 e4 中不起作用
【发布时间】:2017-11-24 11:40:36
【问题描述】:

我知道在 e4 中更改 RCP 应用中按钮的背景不起作用。

来自 Vogella 教程 Eclipse 4 CSS Styling

“例如,Windows 的 SWT 实现不允许设置 Button 和 ScrollBar 小部件的背景颜色。”

我应该仍然能够更改为单选按钮和选中按钮编写的文本的颜色。但它似乎没有应用。尽管我在 CSS 文件中使用 Pseudo Classes Button:checked、:active 或 :selected

将其设置为浅灰色,但该向导仍然显示为黑色文本

与组标题相同

【问题讨论】:

  • Button:checked 在带有选中按钮的 macOS 上适用于我。
  • 这似乎对我不起作用。我在 Windows 10 上运行,我的 CSS 样式表中的代码看起来像 Button:checked { color: #F9F9F9; }
  • 您是否从未选中按钮开始,并希望在您选中按钮时更改样式?
  • 是的,该按钮未被选中。任何带有伪类的样式都可以。我只是想知道这是可能的。所以我尝试了:active 和:selected。没有任何改变。
  • 据我所知 :active 仅适用于 Shells 和 :selected 选项卡文件夹。所以我认为伪类不会像我的回答中解释的那样对你有用。我会使用选择侦听器并使用 IStylingEngine 来更改控件 CSS 类(添加到答案)。

标签: css button radio-button eclipse-rcp e4


【解决方案1】:

在这里进行测试,似乎只有在对话框出现时按钮已经被选中时才会起作用。

更改按钮的检查状态不会更改样式。

这是因为 Button CSS 处理程序 org.eclipse.e4.ui.css.swt.dom.ButtonElement 中的代码目前不支持动态更改样式以匹配检查状态。

您可以设置一个属性来开启动态样式:

System.setProperty("org.eclipse.e4.ui.css.dynamic", Boolean.TRUE.toString());

但是 Eclipse 错误362532 说这可能会导致问题。

所以这基本上是行不通的。

另一种方法是使用 IStylingEngine 并更改选择侦听器中按钮的 id 或类。

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2021-11-08
    • 2015-11-06
    • 2020-04-11
    • 2015-06-29
    相关资源
    最近更新 更多