当前位置: 首页 > news >正文

html5导航网站宣传片制作费用

html5导航网站,宣传片制作费用,企业网站搭建,企业手机网站建设价位第二天 2.1自定义信号和槽 新建一个Qtclass 自定义信号#xff1a;返回值是void #xff0c;只需要声明#xff0c;不需要实现#xff0c;可以有参数#xff0c;可以重载 自定义槽#xff1a;返回值void #xff0c;需要声明#xff0c;也需要实现#xff0c;可以有…第二天 2.1自定义信号和槽 新建一个Qtclass 自定义信号返回值是void 只需要声明不需要实现可以有参数可以重载 自定义槽返回值void 需要声明也需要实现可以有参数可以发生重载 首先新建学生和老师的类。在老师的头文件中添加自定义信号,将代码写在signals:下来实现自定义信号只需要声明不需要实现 class Teacher : public QObject {Q_OBJECT public:Teacher(QObject *parent);~Teacher(); //自定义信号写到signals下 //返回值是void 只需要声明不需要实现 //可以有参数可以重载 signals:void hungry(); };在学生类里定义槽返回值void 需要声明也需要实现可以有参数可以发生重载。 class Student : public QObject { public:Student(QObject *parent);~Student(); public slots://返回值void 需要声明也需要实现//可以有参数可以发生重载void treat(); };void Student::treat() {qDebug(请老师吃饭); }现在weidet头文件里新建老师和学生的指针在到cpp里把他们实例化绑定到父类加入对象树并且使用connect进行连接。光有连接还不行必须要先连接在调用需要调用的时机使用emit来定义触发的时机。写完后就能在输出里看到打印了这段文字。 #include QtWidgets/QWidget #include ui_widget.h #include Teacher.h #include Student.hclass widget : public QWidget {Q_OBJECT public:widget(QWidget *parent nullptr);~widget(); private:Ui::widgetClass ui;//先申明两个指针Teacher* te;Student* st;//声明调用函数void classisover(); };#include widget.hwidget::widget(QWidget *parent): QWidget(parent) {ui.setupUi(this);//创建一个老师对象,右边的this是设置父类加入对象树this-te new Teacher(this);//创建一个学生对象this-st new Student(this);//搭建连接要先连接在传递信号connect(te,Teacher::hungry,st,Student::treat);classisover(); }widget::~widget() {}void widget::classisover() {//下课函数调用后出发老师饿了的信号emit te-hungry(); }2.2 重载信号和槽 在老师头文件重载hungry函数为void hungry(QString foodname)信号只需要声明不需要实现。 在学生头文件重载 ​treat​ 函数并实现食物名。后边加toUtf8().data()是因为不加的话字符串输出有引号 void Student::treat(QString foodname) {//QString - char *先砖成QByteArray(.toutf8())再转char * (.data())qDebug()请老师吃饭foodname.toUtf8().data(); }此时需要修改调用函数加入食物名称connect找不到该连接的函数应为没有指定哪个重载。需要用下边的方式来使用函数指针指向你想连接的函数重载 //连接到带参数的信号和槽 //函数指针指向函数地址 void (Teacher:: *teacherSignal)(QString) Teacher::hungry; void (Student:: *studentSlot)(QString) Student::treat;connect(te, teacherSignal, st, studentSlot); classisover();void widget::classisover() {//下课函数调用后出发老师饿了的信号emit te-hungry(gongbaojiding); }2.3 信号连接信号 1、信号是可以连接信号 2、一个信号可以连接多个槽函数 3、多个信号可以连接同一个槽函数 4、信号和槽函数的参数必须类型——对应 5、信号和槽的参数个数﹑是不是要一致?信号的参数个数可以多余槽函数的参数个数按钮的点击是bool一个参数所以只能用空的函数重载去连接信号 还可以使用按钮来触发这个信号点击就会触发 //点击一个按钮下课 QPushButton* btn new QPushButton(下课,this); this-resize(600,400);//点击按钮下课 connect(btn,QPushButton::clicked,this,widget::classisover); 使用信号连接信号无参信号和槽连接相当于点击信号触发老师信号老师信号又触发学生请客的信号三者关联起来了 //无参信号和槽连接 //连接到带参数的信号和槽 //函数指针指向函数地址 void (Teacher:: * teacherSignal)(void) Teacher::hungry; void (Student:: * studentSlot)(void) Student::treat; connect(te, teacherSignal, st, studentSlot);//信号连接信号 connect(btn, QPushButton::clicked, te, teacherSignal);2.4 lambda表达式 5.4版本之前要使用Lambda,需要在.pro文件处添加这么一行代码CONFIG C11\
http://www.hkea.cn/news/14337718/

相关文章:

  • 网站建设网站管理网页设计的定义
  • 企业网站建设需要许可证吗失信被执行人名单查询官网
  • 个人网站模板html5云服务器推荐
  • 个人淘宝客网站备案做外墙资料的网站
  • 做器材的网站制作视频教程
  • 请上传网站应用水印图片昆明做公司网站
  • 网站的运营和维护网站建设工作怎么样
  • 学校部门网站建设总结淘宝客网站的建设
  • 网站规划项目与设计实例可编辑wordpress主题
  • 怎样提高网站的排名网络营销定价的特点有
  • 低多边形生成网站wordpress去掉标签前缀
  • 一个专门做特产的网站微信营销管理软件
  • 个人网站开发的感想东莞市招标网
  • 一般网站要多大的空间商城网站建设公司爱问
  • 大学网站栏目建设安徽省建设工程
  • 网站信息资源建设包括哪些哪个网站是vue做的
  • 央企做的好的网站公司画册设计模板
  • 做任务网站有哪些佛山提供网站设计方案公司
  • 站长工具免费网站后台网址忘记了 php
  • 阿里云服务器做电影网站wordpress手机菜单分行
  • 营销型网站开发指的是什么千图网官网免费图
  • 手机网站建设做竞价推广的技巧短链接在线生成器
  • 活泼风格的网站科技公司的网站
  • 辽宁住房和建设厅网站wordpress crm分销插件
  • 网站模板搭建百姓网二手车个人
  • c 网站开发人员工具seo外包团队
  • 网站建设承揽合同常州营销网站建设
  • 天河网站建设优化天津网站搜索引擎优化
  • 客户对网站设计的要求如何做网站策划案
  • 网页特效源码网站品味雅虎 wordpress主题