嗨,我想基于Qt创建一个带有CSS的LED指示器,从http://cssdeck.com/labs/css-leds我创建了一个带有丰富文本的标签,作为源:<div class="led-red"></div>和样式表:

margin: 20px auto;
width: 12px;
height: 12px;
background-color: #940;
border-radius: 50%;

我删除了box-shadow,因为Qt无法识别它。
  • 为什么渲染器是正方形而不是圆形,我也尝试过用收音机广播它也应该能用,但没有用?
  • 如何将某些样式(例如JavaScriptCSS不支持的Qt)应用于按钮?
  • 最佳答案

    Qt小部件(例如QLabel或QTexEdit)仅支持HTML 4的子集(QLabel documentation)。

    因此,可能不支持CSS3属性border-radius

    如果要显示LED,可以:

  • 通过子类化QWidget创建一个LED小部件类,并在paintEvent()函数中绘制所需的LED。
  • 将像素图/图像添加到现有窗口小部件。 (QLabel::setPixmap()QPushButton::setIcon()等)

  • 附带说明一下,使用Qt小部件时,您实际上无法使用CSS和javascript自定义GUI。它们确实支持样式表,其中一些样式表处理富文本格式,但是样式表破坏了QStyle机制,并且富文本格式不符合HTML5 / CSS3标准。

    关于javascript - 用Qt制作一个简单的LED指示器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38541929/

    10-12 12:47
    查看更多