本工程实现根据用户填入的设备个数自动生成设备图标,设备图标为可拖动对象。
本工程设计思路为:通过QLabel显示背景图片,在QLabel中自定义重绘事件,并用eventFilter()监视响应事件,实现鼠标拖动对象。
代码链接:
开源代码已上传gitee,关注“程序媛讲QT”公众号,回复“Air monitoring design”获取链接。
实现概要:
- 通过QLabel实现背景图片显示。
ui->pic_label->setStyleSheet("border-image:url(:/new/prefix1/image/design_drawing.png);");
- 利用paintEvent(QPaintEvent*)函数绘画对象,paintEvent是QWidget类中的虚函数,用于ui的绘制。在paintEvent中显示图标并绘出设备号。
void instrument::paintEvent(QPaintEvent *)
{
QPainter painter(this);
/*图片区*/
QImage image(Image_name);
painter.drawImage(0,0,