2016-07-23 71 views
1

嗨简单的LED指示灯我想创建基于CSSQt一个LED指示灯,从http://cssdeck.com/labs/css-leds我创建了一个标签具有丰富的文本来源:<div class="led-red"></div>和样式表:制作使用Qt

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

我删除了box-shadow,因为Qt不能识别它。

  • 为什么渲染是一个正方形而不是一个圆形,我也试过用无线电它应该也能工作,但它没有?

  • 我该如何将一些奇特的风格,如JavaScriptCSSQt不支持的按钮?

回答

2

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

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

如果你想显示LED,您可以:

  • 通过继承QWidget创建LED控件类,并吸引你在的paintEvent()函数所需的LED。
  • 添加一个pixmap /图像到现有的部件。 (QLabel::setPixmap()QPushButton::setIcon()等)

在一个侧面说明,你真的不能同时使用Qt控件与自定义CSS和JavaScript的GUI。他们确实支持样式表,其中一些处理富文本,但样式表打破了QStyle机制,而富文本不符合HTML5/CSS3标准。