始:在接触qt界面开发时,需要重新按钮的mousePressEvent事件,且用到的每个qt控件都用到相同的实现,为了避免对每个控件都重写一遍,想到了用类模板来实现。
类模板继承用法:参考
http://c.biancheng.net/view/320.html
http://c.biancheng.net/view/324.html
过程:类模板的基础用法原理是将n个不同类型通过变量来实现class或类型的统一管理。为了实现初衷,那么只要创建一个类模板A并继承需要的qt控件类,在A中实现mousePressEvent事件即可
模板代码:
templateclass A :public T { public: A() {}; void mousePressEvent(QMouseEvent *e) { QWidget::mousePressEvent(e); qDebug("类模板鼠标事件") } };
应用模板类代码:
auto btn = new A; btn->setParent(this); btn->setObjectName("test"); btn->setText("test"); btn->move(x, y); btn->resize(w, h); btn->show();
结:类模板不仅可以实现类的管理,还能够用于类重载,能够应用与于重写类似qt事件的类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)