1.方法
要将一个QLabel设置为圆形,需要用到QLabel的函数setStyleSheet(),修改StyleSheet就行。
const QString m_red_SheetStyle = "min-width: 16px; min-height: 16px;max-width:16px; max-height: 16px;border-radius: 8px; border:1px solid black;background:red";
const QString m_green_SheetStyle = "min-width: 16px; min-height: 16px;max-width:16px; max-height: 16px;border-radius: 8px; border:1px solid black;background:green";
const QString m_grey_SheetStyle = "min-width: 16px; min-height: 16px;max-width:16px; max-height: 16px;border-radius: 8px; border:1px solid black;background:grey";
const QString m_yellow_SheetStyle = "min-width: 16px; min-height: 16px;max-width:16px; max-height: 16px;border-radius: 8px; border:1px solid black;background:yellow";
ui.lab_LED->setStyleSheet(m_red_SheetStyle);//改成 红色圆形
ui.lab_LED->setStyleSheet(m_green_SheetStyle);//改成 绿色圆形
ui.lab_LED->setStyleSheet(m_grey_SheetStyle);//改成 黄色圆形
ui.lab_LED->setStyleSheet(m_yellow_SheetStyle);//改成 灰色圆形
2.分析StyleSheet
如果不设置最大最小宽度,高度,QLabel就变成圆角矩形了。
min-width: 16px; //最小宽度 16px
min-height: 16px; //最小高度 16px
max-width: 16px; //最大宽度 16px
max-height: 16px; //最大高度 16px
border-radius: 8px; //边框是圆角,半径8px
border:1px solid black; //边框1px,边框黑色
background: red; //背景是红色