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

网站建设每年有维护费吗网站后台进不去的原因

网站建设每年有维护费吗,网站后台进不去的原因,微信网站什么做,十堰网络推广公司目录 概念 代码 mainwindow.h me.h xiaohuang.h main.cc mainwindow.cc me.cc xianghuang.cc mainwindow.ui 自定义信号的要求和注意事项: 自定义槽的要求和注意事项: 概念 信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽#xff0c;实际就是观察者模式(发布-订…目录 概念 代码 mainwindow.h me.h xiaohuang.h main.cc mainwindow.cc me.cc xianghuang.cc mainwindow.ui 自定义信号的要求和注意事项: 自定义槽的要求和注意事项: 概念 信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽实际就是观察者模式(发布-订阅模式)。当某个事件发生之后比如按钮检测到自己被点击了一下它就会发出一个信号signal。这种发出是没有目的的类似广播。如果有对象对这个信号感兴趣它就会使用连接connect函数意思是将想要处理的信号和自己的一个函数称为槽slot绑定来处理这个信号。也就是说当信号发出时被连接的槽函数会自动被回调。这就类似观察者模式当发生了感兴趣的事件某一个操作就会被自动触发。 信号 的本质就是事件 信号的呈现形式就是函数 也就是说某个事件产生了 Qt框架就会调用某个对应的信号函数 通知使用者。 槽函数是一类特殊的功能的函数在编码过程中也可以作为类的普通成员函数来使用。之所以称之为槽函数是因为它们还有一个职责就是对Qt框架中产生的信号进行处理。 在Qt中信号和槽函数都是独立的个体本身没有任何联系但是由于某种特性需求我们可以将二者连接到一起在Qt中我们需要使用QOjbect类中的connect函数进二者的关联。 代码 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include me.h #include xiaohuang.hQT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();//添加HungryBtn的槽函数void HungrySlot();private:Ui::MainWindow *ui;Me* _me;Xiaohuang* _xh; }; #endif // MAINWINDOW_Hme.h #ifndef ME_H #define ME_H#include QObjectclass Me : public QObject {Q_OBJECT public:explicit Me(QObject *parent nullptr);public slots:void eat();void eat(QString msg);};#endif // ME_Hxiaohuang.h #ifndef XIAOHUANG_H #define XIAOHUANG_H#include QObjectclass Xiaohuang : public QObject {Q_OBJECT public:explicit Xiaohuang(QObject *parent nullptr);signals:void hungry();void hungry(QString msg); };#endif // XIAOHUANG_Hmain.cc #include mainwindow.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }mainwindow.cc #include mainwindow.h #include ui_mainwindow.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);//方法一标准信号和槽函数connect(ui-closeBtn,QPushButton::clicked,this,MainWindow::close);//方法二自定义信号和槽函数_me new Me;_xh new Xiaohuang;//因为自定义的信号不能让qt框架去发送所以我们用qt框架有的信号关联我们的自定义信号//间接去让他发送我们的自定义信号//a 这个是信号连接槽函数去间接发送信号//connect(ui-HungryBtn,QPushButton::clicked,this,MainWindow::HungrySlot);//b 现在我们信号连接信号//connect(ui-HungryBtn,QPushButton::clicked,_xh,Xiaohuang::hungry);//connect(_xh,Xiaohuang::hungry,_me,Me::eat);//但是对于带参的Qt5这么写就有问题因为重载了所以编译器就不知道选带参还是不带的所以有语法错误//我们就可以在外部定义一个函数指针来说明是带参的还是不带参的//void (Xiaohuang::* Xh1)() Xiaohuang::hungry;void (Xiaohuang::* Xh2)(QString) Xiaohuang::hungry;void (Me::* myp)(QString) Me::eat;//对于有传参的写法connect(_xh,Xh2,_me,myp);connect(_xh,Xh2,_me,myp);//我们上面是Qt5的信号和槽处理方式现在我们来看Qt4的connect(_xh,SIGNAL(hungry()),_me,SLOT(eat()));//对于有传参的写法connect(_xh,SIGNAL(hungry(QString)),_me,SLOT(eat(QString)));connect(ui-HungryBtn,QPushButton::clicked,this,MainWindow::HungrySlot);//推荐使用Qt5因为Qt4是宏替换没有安全检查 }MainWindow::~MainWindow() {delete ui; }void MainWindow::HungrySlot() {//按下按钮发送自定义信号emit _xh-hungry();emit _xh-hungry(海鲜); } me.cc #include me.h #include QDebugMe::Me(QObject *parent) : QObject(parent) {}void Me::eat() {qDebug()我带你去吃饭; }void Me::eat(QString msg) {qDebug()我带你去吃:msg; }xianghuang.cc #include xiaohuang.hXiaohuang::Xiaohuang(QObject *parent) : QObject(parent) {}mainwindow.ui 自定义信号的要求和注意事项: 信号是类的成员函数返回值必须是 void 类型信号的名字可以根据实际情况进行指定参数可以随意指定, 信号也支持重载信号需要使用 signals 关键字进行声明, 使用方法类似于public等关键字信号函数只需要声明, 不需要定义(没有函数体实现)在程序中发射自定义信号: 发送信号的本质就是调用信号函数 习惯性在信号函数前加关键字: emit, 但是可以省略不写emit只是显示的声明一下信号要被发射了, 没有特殊含义底层 emit #define emit // 举例: 信号重载 // Qt中的类想要使用信号槽机制必须要从QObject类派生(直接或间接派生都可以) class Test : public QObject {Q_OBJECT signals:void testsignal();// 参数的作用是数据传递, 谁调用信号函数谁就指定实参// 实参最终会被传递给槽函数void testsignal(int a); }; 自定义槽的要求和注意事项: 返回值必须是 void 类型 槽也是函数, 因此也支持重载 槽函数需要指定多少个参数, 需要看连接的信号的参数个数 槽函数的参数是用来接收信号传递的数据的, 信号传递的数据就是信号的参数 举例: 信号函数: void testsig(int a, double b);槽函数: void testslot(int a, double b);总结: 槽函数的参数应该和对应的信号的参数个数, 从左到右类型依次对应信号的参数可以大于等于槽函数的参数个数  信号传递的数据被忽略了 信号函数: void testsig(int a, double b);槽函数: void testslot(int a); Qt中槽函数的类型是多样的 Qt中的槽函数可以是类的成员函数、全局函数、静态函数、Lambda表达式匿名函数 槽函数可以使用关键字进行声明: slots (Qt5中slots可以省略不写) public slots:private slots: – 这样的槽函数不能在类外部被调用protected slots: – 这样的槽函数不能在类外部被调用 // 槽函数书写格式举例 // 类中的这三个函数都可以作为槽函数来使用 class Test : public QObject {public:void testSlot();static void testFunc();public slots:void testSlot(int id); };
http://www.yutouwan.com/news/139621/

相关文章:

  • 哪个网站可以做面料订单东莞智通人才网
  • 做网站运营的股票购物网站排行
  • WordPress建站 用插件怀化网络推广哪家服务好
  • 视频网站设计oa软件排行
  • 高端网站设计公司排名企业网站的建设专业服务
  • 昆明官渡区网站建设网页设计基础读书笔记
  • jsp网站建设教程网站制作的流程
  • 网站建设需要的资质个人备案的公司网站
  • html社交网站模板域名网站教程
  • 微信公众号搭建网站怎么做企业网站优化需要多少钱
  • 点击图片进入网站要怎么做网页制作工具哪个好用
  • 专业网站设计第三方网站群建设公司排行榜
  • 如何在网站中做二级下拉菜单wordpress淘客api
  • 临沂做商城网站设计wordpress gif 点击播放
  • 宁波正规网站seo公司建设明星网站的目的
  • 如何判断一个网站的关键词是否难做wordpress用户前端创建相册
  • 接工程网站承德做网站的公司
  • 鲜花网站建设文档兰州关键词网络推广
  • 绍兴市高速公路建设指挥部网站wordpress搬家后图片不显示
  • 怎么建设自己产品网站广州微网站建设机构
  • 性病医院网站优化服务商泰州网站建设服务公司
  • 专门做网页的网站广东省建设工程安全协会网站
  • 做电脑系统的网站好凡科建站多少钱
  • 网站建设功能介绍制作营销型网站的公司
  • 郑州有官方网站的公司网站开发运营推广叫什么
  • 精品课程网站建设情况微信自创小程序
  • 网站建设faq系统指什么wordpress数据库出错
  • PHP搭建IDC网站源码建站教程
  • 揭阳网站建设方案托管网络推广的优化服务
  • 网站你应该知道我说的是什么吧wordpress分类目录查不到文章