#ifndef BASEUI_H
#define BASEUI_H
#include <QString>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QWidget>
#include <QFrame>
#include <QObject>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QLayout>
#include <QScrollArea>
#include <QGroupBox>
#include <QFont>
#include <QDebug>
#include <QMap>
#include <QAction>
#include "common.h"
namespace InterfaceUI
{
//存在com号和ID值的map
//QMap<QString, QString> map;
//UI界面基类
class BaseUI : public QObject
{
public:
BaseUI(): m_area(new QScrollArea), m_widget(new QWidget()),
m_main_layout(new QVBoxLayout),
m_vbox_layout(new QVBoxLayout)
{
}
virtual ~BaseUI()
{
delete m_area;
delete m_widget;
delete m_main_layout;
delete m_vbox_layout;
}
inline QFont font()
{
QFont m_font("宋体", 18, 75);
return m_font;
}
inline void BaseScrollArea()
{
m_area = new QScrollArea();
m_widget = new QWidget();
m_widget->setStyleSheet("QWidget" "{background:white;}");
m_vbox_layout->addSpacerItem(new QSpacerItem(100, 30, QSizePolicy::Expanding, QSizePolicy::Expanding));
m_widget->setLayout(m_vbox_layout);
m_area->setWidget(m_widget);
m_area->setWidgetResizable(true);
m_main_layout->addWidget(m_area);
}
public:
virtual void AddAutoChildUI(QString com_name) = 0;
virtual void AddMulChildUI() = 0;
virtual void getValueFromUI() = 0;
private:
BaseUI(const BaseUI &);
const BaseUI & operator = (const BaseUI &);
public:
QScrollArea *m_area;
QWidget *m_widget;
QVBoxLayout *m_vbox_layout;
QVBoxLayout *m_main_layout;
};
//录入ID界面类
class RecordUI : public BaseUI
{
public:
RecordUI() : BaseUI()
{
}
virtual ~RecordUI()
{
}
inline void init()
{
m_record_page = new QWidget;
m_record_layout = new QGridLayout(m_record_page);
m_record_label = new QLabel;
m_record_ledit = new QLineEdit;
m_record_but = new QPushButton;
}
void desource()
{
if(m_record_page != NULL)
{
delete m_record_page;
m_record_pa
QT动态生成界面控件工厂类
最新推荐文章于 2024-05-30 10:48:55 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)