0
点赞
收藏
分享

微信扫一扫

ES学习日记(十)-------Java操作ES之连接客户端

云上笔记 04-06 19:30 阅读 1

1、概述
源码放在文章末尾

面板容器控件包含如下功能:

    1. 支持所有widget子类对象,自动产生滚动条。
    1. 支持自动拉伸自动填充。
    1. 提供接口获取容器内的所有对象的指针。
    1. 可设置是否自动拉伸宽度高度。
    1. 可设置设备面板之间的间距和边距。

超级图形字体类包含如下功能:

    1. 可传入多种图形字体文件,一个类通用所有图形字体。
    1. 默认已经内置了阿里巴巴图形字体FontAliBaBa、国际知名图形字体FontAwesome、天气图形字体FontWeather。
    1. 可设置 QLabel、QAbstractButton 文本为图形字体。
    1. 可设置图形字体作为 QAbstractButton 按钮图标。
    1. 内置万能的方法 getPixmap 将图形字体值转换为图片。
    1. 无论是设置文本、图标、图片等都可以设置图标的大小、尺寸、颜色等参数。
    1. 内置超级导航栏样式设置,将图形字体作为图标设置到按钮。
    1. 支持各种颜色设置比如正常颜色、悬停颜色、按下颜色、选中颜色。
    1. 可设置导航的位置为 left、right、top、bottom 四种。
    1. 可设置导航加深边框颜色和粗细大小。
    1. 导航面板的各种切换效果比如鼠标悬停、按下、选中等都自动处理掉样式设置。
    1. 全局静态方法,接口丰富,使用极其简单方便。

在这里插入图片描述

项目部分代码如下:

#ifndef PANELWIDGET_H
#define PANELWIDGET_H

/**
 * 面板容器控件
 * 1. 支持所有widget子类对象,自动产生滚动条。
 * 2. 支持自动拉伸自动填充。
 * 3. 提供接口获取容器内的所有对象的指针。
 * 4. 可设置是否自动拉伸宽度高度。
 * 5. 可设置设备面板之间的间距和边距。
 */

#include <QWidget>

class QScrollArea;
class QFrame;
class QVBoxLayout;
class QGridLayout;
class QSpacerItem;

#ifdef quc
class Q_DECL_EXPORT PanelWidget : public QWidget
#else
class PanelWidget : public QWidget
#endif

{
    Q_OBJECT

    Q_PROPERTY(int margin READ getMargin WRITE setMargin)
    Q_PROPERTY(int space READ getSpace WRITE setSpace)
    Q_PROPERTY(bool autoWidth READ getAutoWidth WRITE setAutoWidth)
    Q_PROPERTY(bool autoHeight READ getAutoHeight WRITE setAutoHeight)
    Q_PROPERTY(int columnCount READ getColumnCount WRITE setColumnCount)

public:
    explicit PanelWidget(QWidget *parent = 0);

protected:
    void resizeEvent(QResizeEvent *);

private:
    QScrollArea *scrollArea;    //滚动区域
    QWidget *scrollAreaContents;//滚动区域载体
    QFrame *frame;              //放置设备的框架,自动变宽变高
    QVBoxLayout *verticalLayout;//设备面板总布局
    QGridLayout *gridLayout;    //设备表格布局
    QSpacerItem *hSpacer;       //横向弹簧
    QSpacerItem *vSpacer;       //垂直弹簧

    int margin;                 //边距
    int space;                  //设备之间的间隔
    bool autoWidth;             //宽度自动拉伸
    bool autoHeight;            //高度自动拉伸

    int columnCount;            //面板列数
    QList<QWidget *> widgets;   //设备面板对象集合

public:
    //默认尺寸和最小尺寸
    QSize sizeHint() const;
    QSize minimumSizeHint() const;

    //设置边距
    void setMargin(int left, int top, int right, int bottom);

    //获取和设置边距
    int getMargin() const;
    void setMargin(int margin);

    //获取和设置间距
    int getSpace() const;
    void setSpace(int space);

    //获取和设置自动填充宽度
    bool getAutoWidth() const;
    void setAutoWidth(bool autoWidth);

    //获取和设置自自动填充高度
    bool getAutoHeight() const;
    void setAutoHeight(bool autoHeight);

    //获取和设置列数
    int getColumnCount() const;
    void setColumnCount(int columnCount);

    //获取和设置窗体集合
    QList<QWidget *> getWidgets() const;
    void setWidgets(QList<QWidget *> widgets);

    //载入窗体集合
    void loadWidgets();
    //指定位置插入新窗体
    void insertWidget(int index, QWidget *widget);
    //移除指定的窗体
    void removeWidget(QWidget *widget);
    //清空窗体
    void clearWidgets();
};

#endif // PANELWIDGET_H

源码下载

举报

相关推荐

0 条评论