19-Qt界面开发所建议的“对话框基类”和“Widget基类”

在pc软件页面开发中,使用最多的就是Dialog和Widget这两个基本窗体控件。这两个窗体控件分别有常用的函数。可以把这些常用函数放到一起形成一个基类。

  1. 在软件页面开发中,提升出一个基类的好处:
    a. 避免函数和功能模块重复
    B. 可以对一些常用函数进行命名约束,使特定函数名称保持统一
    c. 使代码层次分明,简洁明了
    d. 修改基类功能可以让继承自这基类的所有子类都得到同样的功能。

  2. 基类实现所需要的面向对象编程技术:
    基类的实现是依靠面向对象编程语言的多态技术来实现的。
    在C++中基类可以使用虚函数来写各个子类提取出来的共有函数。也可以使用纯虚函数来约束子函数需要实现的函数。

  3. 在qt开发中建议的几个基类
    a. BaseDialog
    basedialog.h

# ifndef BASEDIALOG_H
# define BASEDIALOG_H

# include <QDialog>

class BaseDialog : public QDialog

	Q_OBJECT
public:
	BaseDialog();
	explicit BaseDialog(QWidget *parent = nullptr);
	BaseDialog();
	
private:
	void Init();
};

# endif // BASEDIALOG_H

basedialog.cpp

# include "basedialog.h"

# include <QIcon>

BaseDialogBaseDialog()
	Init();
}

BaseDialogBaseDialog(QWidget *parent)
	:QDialog(parent)
	Init();
}

BaseDialogBaseDialog()

}

void BaseDialogInit() 
	//remove question mark
	QtWindowFlags flags= this->windowFlags();
	setWindowFlags(flags&QtWindowContextHelpButtonHint);
	
	//set dialog icon
	setWindowIcon(QIcon(":/img/image/app_icon.png"));
}

b. BaseWidget
basewidget.h

# ifndef BASEWIDGET_H
# define BASEWIDGET_H

# include <QWidget>

class BaseWidget : public QWidget
	Q_OBJECT
public:
	BaseWidget();
	explicit BaseWidget(QWidget *parent = nullptr);
	virtual BaseWidget();
	
public:
	//suggested functions
	virtual void UpdateUi();
	virtual void TranslateUi();
	
protected:
	//must have functions
	virtual void SetupUi(QWidget *widget) = 0;

};

# endif // BASEWIDGET_H

basewidget.cpp

#include "basewidget.h"

BaseWidgetBaseWidget()

}

BaseWidgetBaseWidget(QWidget *parent)
	:QWidget(parent)

}

BaseWidgetBaseWidget()

}

void BaseWidgetUpdateUi() 

}

void BaseWidgetTranslateUi() 

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值