用户下拉框实现
实现效果如下:
ezgif.com-gif-maker
头文件accountitem.h
#ifndef ACCOUNTITEM_H
#define ACCOUNTITEM_H
#include <QWidget>
#include <QLabel>
#include <QToolButton>
#include <QHBoxLayout>
class AccountItem : public QWidget
{
Q_OBJECT
public:
explicit AccountItem(QWidget *parent = nullptr);
~AccountItem();
signals:
void signalShowAccountInfo(int index , QString accountName);
void signalRemoveAccount(int index,QString) ;
public:
void setAccountInfo(int index, QString accountName, QString headFilePath);
QString getAccountName();
public slots:
void onRemoveAccount() ;
private:
void mousePressEvent(QMouseEvent *event) ;
void mouseReleaseEvent(QMouseEvent *event) ;
QString getHeadImageDirPath();
private:
bool m_mousePress;
QLabel *m_accountNumber;
QToolButton *m_deleteButton;
QLabel *m_Icon;
quint32 m_index;
};
#endif // ACCOUNTITEM_H
源文件accountitem.cpp
#include "accountitem.h"
#include "qevent.h"
AccountItem::AccountItem(QWidget *parent)
: QWidget{
parent}
{
m_mousePress = false ;
//头像
m_Icon = new QLabel() ;
m_Icon->setMinimumSize(24,24);
//用户名
m_accountNumber = new QLabel() ;
QFont font;
font.setPointSize(11);
m_accountNumber->setFont(font)