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

网站开发毕设文档网站流量统计表

网站开发毕设文档,网站流量统计表,公司网站建设劳伦,asp网站开发国内外现状1.自定义信号槽 使用connect()可以让我们连接系统提供的信号和槽#xff0c;同时也可以自定义信号槽。 例如以学生和老师构建类同时当老师触发信号下课同学收到信号执行“吃饭”这一动作代码示例 #include SignalAndSlot.h //Teacher Student 总框架…1.自定义信号槽 使用connect()可以让我们连接系统提供的信号和槽同时也可以自定义信号槽。 例如以学生和老师构建类同时当老师触发信号下课同学收到信号执行“吃饭”这一动作代码示例 #include SignalAndSlot.h //Teacher Student 总框架类用以实现自定义信号槽 SignalAndSlot::SignalAndSlot(QWidget *parent): QWidget(parent) {ui.setupUi(this);this-zt new Teacher(this);this-st new Student(this);connect(this-zt, Teacher::Hungry, this-st, Student::treat);classover(); }SignalAndSlot::~SignalAndSlot() {}void SignalAndSlot::classover() {//触发自定义的信号emit this-zt-Hungry();}#pragma once#include QObject //老师类class Teacher : public QObject {Q_OBJECTpublic:Teacher(QObject* parent 0);~Teacher(); signals: //自定义信号 写到signala下//1.返回值类型是void//2.只需要声明不需要实现//3.可以有参数可以发生重哉void Hungry(); }; #pragma once#include QObject //学生类class Student : public QObject {Q_OBJECTpublic:Student(QObject* parent 0);~Student();public slots://槽函数 写到public slots下或者public或者全局函数或者lambda//返回值 void//需要声明 需要实现//可以有参数 可以重载void treat(); }; 解释 1.只有继承了QObject类的类才具有信号槽的能力。为了使用信号槽必须继承QObject。凡是QObject类不管是直接子类还是间接子类都应该在第一行代码写上Q_OBJECT。不管是不是使用信号槽都应该添加这个宏。这个宏的展开将为我们的类提供信号槽机制、国际化机制以及 Qt 提供的不基于 C RTTI 的反射能力。 2.信号就是一个个的函数名返回值是 void因为无法获得信号的返回值所以也就无需返回任何值参数是该类需要让外界知道的数据。信号作为函数名不需要在 cpp 函数中添加任何实现。 3.emit 是 Qt 对 C 的扩展是一个关键字其实也是一个宏。emit 的含义是发出也就是发出Hungry()信号感兴趣的接收者会关注这个信号。 注意点  发送者和接收者都需要是QObject的子类当然槽函数是全局函数、Lambda 表达式等无需接收者的时候除外  使用 signals 标记信号函数信号是一个函数声明返回 void不需要实现函数代码  槽函数是普通的成员函数作为成员函数会受到 public、private、protected 的影响  使用 emit 在恰当的位置发送信号  使用QObject::connect()函数连接信号和槽。  任何成员函数、static 函数、全局函数和 Lambda 表达式都可以作为槽函数 2.信号和槽重载的问题以及解决 当发生重载的时候要加上函数指针防止程序出现二义性 //连接有参数的信号和槽 //要用函数指针 指向 函数地址//这里是以QString类型参数重载的void(Teacher:: * teacherSignal)(QString) Teacher::Hungry;void(Student:: * studentSlot)(QString) Student::treat;connect(this-zt, teacherSignal, this-st, teacherSignal);//QString转char* 先调用toUtf-8转为QByteArray 在调用data 转为char* 3. 信号和槽拓展 //1.信号连接信号 void(Teacher:: * teacherSignal1)() Teacher::Hungry;void(Student:: * studentSlot1)() Student::treat;connect(this-zt, teacherSignal1, this-st, studentSlot1);connect(btn, QPushButton::clicked, this-zt, teacherSignal1);//2.一个信号可以连接多个槽函数 //3.多个信号可以连接同一个槽函数 //4.信号和槽的参数类型必须一一对应信号和槽的参数类型必须一样 //5.信号的参数个数可以多余槽函数反之不可以类型相同个数的参数类型也要按顺序一一对应 //6.可以利用disconnect 断开信号槽连接参数同connect一样 4.信号连接信号接收信号有参数的连接方式 在Qt中‌当你使用信号和槽机制时‌信号的发射‌emit‌会自动将信号所带的参数传递给槽函数或另一个信号。‌如果你想要在某个信号发射时传递特定的参数给另一个信号或槽‌你需要在连接信号和槽时确保它们的参数是匹配的。‌ 对于你给出的代码段‌teacherSignal1 是一个指向 Teacher 类中 Hungry 信号的指针‌该信号接受一个 QString 类型的参数。‌同样‌studentSlot1 是一个指向 Student 类中 treat 槽的指针‌该槽也接受一个 QString 类型的参数。‌ 当你连接 btn 的 clicked 信号到 teacherSignal1 时‌你需要确保在发射 teacherSignal1 时传递一个 QString 类型的参数。‌然而‌QPushButton 的 clicked 信号并不传递任何参数‌所以你需要使用一种方法来在连接时或信号发射时提供这个参数。‌ 一种常见的做法是使用一个中间槽‌该槽在接收到 clicked 信号时被调用‌并在其中发射 teacherSignal1‌同时传递所需的 QString 参数。‌例如‌ class MyClass : public QObject {Q_OBJECT public:MyClass() {connect(btn, QPushButton::clicked, this, MyClass::onButtonClicked);connect(this, MyClass::teacherSignal1, this-zt, teacherSignal1);connect(this-zt, teacherSignal1, this-st, studentSlot1);}public slots:void onButtonClicked() {emit teacherSignal1(Im hungry!);}signals:void teacherSignal1(QString message);private:QPushButton *btn;Teacher *zt;Student *st; };在这个例子中‌MyClass 有一个槽 onButtonClicked‌它在 btn 被点击时被调用。‌在这个槽中‌我们发射了 teacherSignal1 信号‌并传递了一个 QString 类型的参数 “I’m hungry!”。‌然后‌teacherSignal1 信号被连接到 Teacher 类的 Hungry 信号‌最终 Hungry 信号被连接到 Student 类的 treat 槽。‌这样‌当按钮被点击时‌消息就会从 btn 传递到 st 的 treat 槽。‌
http://www.dnsts.com.cn/news/4773.html

相关文章:

  • 一个网站有个前端后端怎么做定制西装
  • 做昆特牌的网站关于做电商网站导流项目
  • 电子商务网站建设指导书wordpress 不显示工具栏
  • 银川建网站那家好有什么方法在淘宝发布网站建设设计
  • 福州做网站优化wordpress 调用媒体库
  • 做的好的地方网站北京海淀互联网公司
  • 个人在线视频播放网站搭建如果提高网站
  • 新网站怎么做流畅网站建设 方案
  • 网站建设找业主签字模板电子信息工程能进国家电网吗
  • 门户网站建设内网站制作包括什么
  • 电商网站现状分析e通网网站建设
  • 用凡科做网站的费用免费检测网站seo
  • 教做衣服的网站商务软文写作300
  • 淄博临淄建设局网站app企业网站
  • 网站建设论文开题报告中文搜索引擎排名
  • 网站建设公司项目介绍做网站是怎样赚钱
  • 纺织厂网站模板食品网站设计
  • 网站建设技术发展趋势预测北京优化互联网公司
  • 山东手机网站建设织梦57网站的友情链接怎么做
  • 服务好的赣州网站建设访问网站速度跟域名还是服务器有关
  • 手机代码网站有哪些问题合肥网页设计公司校企合作
  • 青岛市北区网站制作公司淘宝客网站建站
  • 注册网站域名需要什么资料医疗器械下载织梦做网站软件
  • 电子商务网站建设合同标准范文创意网店店铺名字大全
  • 中山微信网站网络广告策划内容
  • 建网站 收费标准打开英文网站字体不对
  • 网站开发服务单位文化建设的重要性和意义
  • 做英文的小说网站威县做网站哪儿便宜
  • 网站建设是网络工程师吗公司注册地址和经营地址
  • 策划案例网站网站建设教程大全 百度网盘