效果图

代码
h文件
#ifndef CLINEWIDTH_H
#define CLINEWIDTH_H
#include <QObject>
#include <QLabel>
#include <QComboBox>
#include <QListWidget>
#include <QLineEdit>
enum EmLabelType{
emItem = 0, emLineEdit};
class CLineWidthItem : public QLabel
{
Q_OBJECT
public:
CLineWidthItem( EmLabelType type = emItem,int width = 0,QWidget *parent = nullptr);
~CLineWidthItem() override;
void setWidth(const int & width);
protected:
void paintEvent(QPaintEvent *) override;
void mousePressEvent(QMouseEvent *event) override;
private:
int m_width;
EmLabelType m_type;
signals:
void click(const int & width);
void sigMouseMove();
};
class QShowLineInEdit : public QLineEdit
{
Q_OBJECT
public:
QShowLineInEdit(const int & width = 0,QWidget *parent = nullptr);
~QShowLineInEdit()override;
void setWidth(const int & width);
private:
CLineWidthItem * m_pLabel;
int m_width;