Qt复选框/工具按钮,带有自定义/不同的检查/未选中图标

edA*_*a-y 8 c++ qt

我需要一个像控件这样的复选框,其中选中和未选中状态使用自定义图形.我查看了QToolButton和QCheckBox的所有文档,以及QIcon,但找不到任何能够满足我想要的组合.

我只想在未检查状态下使用一个图标(实际上是pixmap),在检查状态下使用另一个图标.

这感觉应该很容易,但解决方案(缺少自定义控件)正在逃避我.


我也试过使用样式表,并且QToolButton:checked有一些background-image作品,但是我无法正确地进行布局 - 它没有像图标那样定位/调整大小.

Rai*_*aiv 20

使用::指标子项.下面的代码对我来说非常好......

 QCheckBox::indicator {
     width: 18px;
     height: 18px;
 }

  QCheckBox::indicator:checked
  {
    image: url(.../Checkbox_checked_normal.png);
  }
  QCheckBox::indicator:unchecked
  {
    image: url(.../Checkbox_unchecked_normal.png);
  }

  QCheckBox::indicator:checked:hover
  {
    image: url(.../Checkbox_checked_hovered.png);
  }
  QCheckBox::indicator:unchecked:hover
  {
    image: url(.../Checkbox_unchecked_hovered.png);
  }
  QCheckBox::indicator:checked:pressed
  {
    image: url(.../Checkbox_checked_pressed.png);
  }
  QCheckBox::indicator:unchecked:pressed
  {
    image: url(.../Checkbox_unchecked_pressed.png);
  }
  QCheckBox::indicator:checked:disabled
  {
    image: url(.../Checkbox_checked_disabled.png);
  }
  QCheckBox::indicator:unchecked:disabled
  {
    image: url(.../Checkbox_unchecked_disabled.png);
  }
Run Code Online (Sandbox Code Playgroud)