Qt,提升QLabel

 

QLabel不能满足我的需求,需要提升QLabel为自己封装的类

 

在UI中,拉一个QLabel出来,鼠标右键点击QLabel,选择【提升为】,然后填写自己的类。

 

需要注意的是,提升后QLabel需要show一下,不然显示不出来

 

复制代码
#ifndef MYVIDEO_H
#define MYVIDEO_H

#include <QLabel>
#include <QWidget>
#include <QPaintEvent>
#include <QMouseEvent>
#include <QMessageBox>
#include <QPainter>
#include <QPaintEvent>
#include <QDebug>

class MyVideo : public QLabel
{
    Q_OBJECT
public:
    MyVideo(QWidget*parent=nullptr);
    ~MyVideo();

    void paintEvent(QPaintEvent* e);
    void mousePressEvent(QMouseEvent* e);
};

#endif // MYVIDEO_H
复制代码

 

复制代码
#include "myvideo.h"

MyVideo::MyVideo(QWidget* parent):QLabel(parent)
{
    // setStyleSheet("background-color:red");

    // 需要show一下,不然显示不出来
    show();
}

MyVideo::~MyVideo()
{

}

void MyVideo::paintEvent(QPaintEvent *e)
{
    QPainter p(this);

    QPen pen;
    pen.setColor(Qt::red);
    pen.setWidth(10);
    p.setPen(pen);

    p.drawLine(10,10,100,100);
}

void MyVideo::mousePressEvent(QMouseEvent *e)
{
    QMessageBox::information(nullptr, "123", "123");
    // qDebug() << "123";
}
复制代码

 

posted @   十一的杂文录  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-10-12 VS2019 开发 MFC ACtivex (OCX)控件
2021-10-12 使用 bat 注册 ocx 控件
2021-10-12 生成 MFC ActiveX (OCX)时,报错:MSB801:未能注册输出
2021-10-12 获取 BSTR 字符串长度
点击右上角即可分享
微信分享提示