还剩4页未读,继续阅读
文本内容:
控件开发Q什么是控件?控件是数据和方法的封装控件可以拥有自己的属性和方法属性是控件数据的简单访问者,方法是控件的一些简单可见的功能通过设置对象的属性,使得对象拥有“具体参数”的的控件方法一般以函数的形式展现Q为什么要开发控件?创建开发控件的最大意义在于封装重复的工作,其次是可以扩充现有控件的功能对于控件开发者而言,控件是纯粹的代码,创建控件让我们回到传统的开发工具时代Q常见的控件有哪些?按钮,列表,进度条,布局控件,文本控件,绘图控件,Q控件里一般有什么?在C++中,控件以类的形式定义及封装所以,在这里控件里一般有成员变量及成员函数这和普通的类很相似不同的地方在于,控件类里面的成员函数有时候会是信号,槽,虚函数,有时候还会有成员类控件类有时候比普通类要更大,因为控件所要包含的需求比较多Q为什么需要控件基类1便于新定义的控件继承,对基类控件进行功能拓展.将更复杂的底层逻辑定义在控件基类,基类控件是对派生类控件的相同部分的提取,减轻派生类控件的代码量和耦合性.有时候我们自定义的控件需要用到Qt源码的控件,所以这时候就可以将Qt某个控件当成控件基类,而不需要我们自己做Qt已经做好的工作简单控件实例PaintCtrl.h文件#ifndefPAINTCTRL_HttdefinePAINTCTRL_HttincludeObjectNode.h〃ttincludeQQuickPaintedItenittincludeQPainterclassPaintCtrl:publicHObjectNode{Q_OBJECTsignals:voidTest;public:PaintCtrl;^PaintCtrl;classPaintPi:publicQQuickPaintedltem{public:PaintPi;^PaintPi;virtualvoidpaintQPainter*painter;virtualvoidmousePressEventQMouseEvent*event;;private:};ttdenifPaintCtrl.cpp文件ttinclude”PaintCtrl.hPaintCtrl::PaintCtrlPaintCtrl::〜PaintCtrlPaintCtrl:PaintPi:PaintPiPaintCtrl::PaintPi::〜PaintPivoidPaintCtrl::PaintPi::paintQPainter*paintervoidPaintCtrl::PaintPi::mousePressEventQMouseEvent*event。
个人认证
优秀文档
获得点赞 0