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

网站上线 串词高质量的网站建设

网站上线 串词,高质量的网站建设,广州海珠区培训机构网站建设,网站创建快捷方式第二天 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.w-s-a.com/news/455914/

相关文章:

  • 西宁专业做网站教育网站建设策划书
  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章
  • iis添加网站ip地址树莓派运行wordpress
  • 网站空间域名多少钱宿迁做网站公司
  • 福州建设企业网站网站交互主要做什么的
  • 英文网站建设方法门户网站特点
  • 腾讯云备案 网站名称萧山城市建设网站
  • 漳浦网站建设网络营销推广策略
  • 龙岗商城网站建设教程百度关键词排名突然没了
  • 深圳网站建设服务哪家有织梦网站模板安装
  • 网站设计与网页制作代码大全网站开发还找到工作吗
  • 给设计网站做图会字体侵权吗站长工具seo综合查询张家界新娘
  • 网站的建设与颜色搭配win7在iis中新建一个网站
  • 单位做网站有哪些功能型类的网站
  • 网站怎样做优惠卷移动互联网开发培训
  • 重庆网站建设帝维科技网站做定向的作用
  • 网站建设工作室wp主题模板做污事网站
  • 网站建设 深圳 凡科重庆家居网站制作公司
  • 自己也可以免费轻松创建一个网站企业收录网站有什么用
  • 帮别人做网站违法导航网站开发工具
  • seo网站外包公司字画价格网站建设方案