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

电子商务企业网站建设计划书dw做的网站怎么传到网络上去

电子商务企业网站建设计划书,dw做的网站怎么传到网络上去,黑龙江建设厅官网,千万别做网络管理员前言 在 C 中#xff0c;对象与对象之间产生联系要通过调用成员函数的方式。但是在 Qt中#xff0c;Qt提供了一种新的对象间的通信方式#xff0c;即信号和槽机制。在GUI编程中#xff0c;通常希望一个窗口部件的一个状态的变化会被另一个窗口部件知道#xff0c;为…前言        在 C 中对象与对象之间产生联系要通过调用成员函数的方式。但是在 Qt中Qt提供了一种新的对象间的通信方式即信号和槽机制。在GUI编程中通常希望一个窗口部件的一个状态的变化会被另一个窗口部件知道为了实现这种效果且取代老式的回调函数信号和槽机制应运而生Qt通过 QObject 提供信号和槽的功能。         信号和槽的核心原理很简单当某个事件发生之后如按钮检测到自己被单击了一下它就会广播出一个信号。如果有对象对这个信号感兴趣就使用连接函数将想要处理的信号和自己的一个函数(称为槽函数)进行绑定并处理这个信号。也就是说当信号被发出时与之连接的槽即函数会自动被回调。 信号和槽的使用  槽的本质就是类的成员函数其参数可以是任意类型可以是虚函数可以被重载。槽通常和信号连接在一起当信号被发出时与这个信号连接的槽函数就会被调用其语法如下。 connect(sender, SIGNAL(signal), receiver, SLOT(slot)); 具体参数如下 sender发出信号的对象。signal发送对象发出的信号。receiver接收信号的对象。slot接收对象在接收到信号之后所需要调用的函数。 参数中的 sender 就是指向发送信号的对象的指针receiver 是指向包含槽函数的对象的指针。signal是被发送的信号slot是接收信号后调用的槽函数均为不带参数的函数名。SIGNAL()和SLOT()会将其参数转换为字符串即将函数名转换为字符串将这个字符串传入 connect()中。 信号和槽的连接比较随意一个信号可以连接多个槽。 connect(sender, SlGNAL(sianal), receiverA, SLOT(slotA)); connect(sender, SlGNAL(signal), receiverB, SLOT(slotB));也可以多个信号连接同一个槽。 connect(senderA, SIGNAL(signalA), receiver, SLOT(slot)); connect(senderB, SlGNAL(signalB), receiver, SLOT(slot));一个信号还可以连接另外一个信号。 connect(sender, SIGNAL(signalA), receiver, SlGNAL(signalB));当 sender对象发送信号给signalA时,触发receiver对象发送信号给signalB。同时,信号和槽之间的连接可以被移除。 disconnect(sender, SlGNAL(signal),receiver, SLOT(slot)); Qt 信号和槽机制的优缺点如下 Ot的信号和槽机制的引用可减少程序员编写的代码量。Qt的信号可以对应多个槽(它们的调用顺序随机)也可以多个槽映射一个信号Qt的信号和槽的建立与解除绑定十分自由。信号和槽同真正的回调函数比起来时间的耗损还是很大的在嵌入式实时系统中应当慎用。信号和槽的参数限定很多如不能携带模板类参数、不能出现宏定义等。 用一个例子来解释一下信号和槽的机制 新建一个基类 QWidget的 Qt 图形应用项目。 在widgt.h文件中 #ifndef WIDGT_H #define WIDGT_H #includeQPushButton #include QWidget QT_BEGIN_NAMESPACE namespace Ui { class widgt; } QT_END_NAMESPACE class widgt : public QWidget {Q_OBJECT//只有继承了QObject类的类,才具有信号和槽;//宏QOBJECT是任何实现信号、槽或属性的强制性要求 public:widgt(QWidget *parent nullptr);~widgt(); private:Ui::widgt *ui;QPushButton button; }; #endif // WIDGT_H 在widgt.cpp文件中 #include widgt.h #include ui_widgt.h widgt::widgt(QWidget *parent): QWidget(parent), ui(new Ui::widgt) {this-resize(200,200);//修改默认的窗口尺寸button.setParent(this);// 绑定窗口和按钮button.setText(关闭窗口);// 按钮框中文本button.move(48,64);// 定义按钮的位置以左上角为原点px 为单位connect(button,QPushButton::pressed,this,widgt::close); } widgt::~widgt() {delete ui; } 在main.cpp文件中 #include widgt.h #include QApplication int main(int argc, char *argv[]) {QApplication a(argc, argv);widgt w;w.show();return a.exec(); } 在这些代码中button是信号的发送方信号为QPushButton基类定义的pressed信号信号接收方为 widgt w即在构造函数中写为 this槽函数为基类QWidget定义的 close()函数。这样在单击“close”按钮时该按钮 button会发送一个pressed信号pressed信号会触发w中继承的 close()函数实现结束程序的功能。  自定义信号和槽函数 connect()函数可用来连接系统提供的信号和槽。但是Qt的信号和槽机制并不是仅能使用系统提供的那部分程序员也可设计自己的信号和槽。 首先创建一个基于基类 QWidget的 Qt图形应用项目添加一个新的类类名为“Widget”继承于 Qt 的基类 QWidget。 在widgt.h文件中 #ifndef WIDGET_H #define WIDGET_H #include QLabel #include QPushButton #include QWidget QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget {Q_OBJECT public:Widget(QWidget *parent nullptr);void MySlot();//定义~Widget(); private:Ui::Widget *ui;QPushButton button;QLabel label; }; #endif // WIDGET_H 在widgt.cpp文件中 #include widget.h #include ui_widget.h Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {this-resize(240,320);button.setParent(this);button.move(40,50);button.setText(更换内容);label.setParent(this);label.move(40,100);label.setText(更换前);connect(button,QPushButton::pressed,this,Widget::MySlot); } void Widget::MySlot() {label.setText(更换后); } Widget::~Widget() {delete ui; } 在main.cpp文件中 #include widget.h #include QApplication int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }结果 自定义信号和槽函数的要点 自定义槽函数要点如下。 槽函数可以传入参数但没有返回值。在 Qt5 中任何成员函数、静态成员函数、全局函数及 Lambda 表达式都可以作为槽函数。与信号函数不同槽函数必须自己完成实现代码。槽函数就是普通的成员函数因此也会受到public、private 等访问控制关键字的影响。( 如果信号是私有的这个信号就不能在类的外面连接而类中本来就可以直接传递因此这种限制也就没有任何意义。) 自定义信号和槽需要注意的事项有以下几个。 发送者和接收者都需要 QObject的派生类(当然槽函数是全局函数、Lambda 表达式等无须接收者的时候除外 )。使用 signals 标记信号信号是一个函数声明返回 void不需要实现函数代码。使用 emit 在恰当的位置发送信号。可以在 main.cpp 中使用QObject::connect()函数连接信号和槽函数。任何成员函数、静态成员函数、全局函数及Lambda 表达式都可以作为槽函数。 Q_OBJECT 在Qt中如果一个类要使用信号和槽的功能就必须在其中声明Q_OBJECT类的定义的第一行就写上了 Q_OBJECT。不管是不是使用信号和槽都应该添加 O_OBJECT宏这个宏为类提供了信号和槽机制、国际化机制以及Qt提供的不基于 C RTTI的反射能力。其他很多操作都会依赖于这个宏即使类中不需要使用信号和槽也需要添加这个宏否则会出现编译错误。
http://www.pierceye.com/news/158805/

相关文章:

  • 苏州 手机网站免费个人简历模板电子版可填写
  • 永州内部网站建设公司wordpress 模版开发
  • 云建站优势门户网站如何建设方案
  • 网站建设收费标准不一湖州网站开发公司
  • asp制作网站青岛建网站公司
  • 人人商城程序做的网站打不开百度网盘客户端下载
  • 医疗器械注册证查询网站优化推广服务
  • 网站制作网页做简单的网站首页
  • 怎样做网站上的语种链接泰安网络犯罪案件
  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司
  • dz可以做旅游网站吗wordpress 4.1.1 漏洞
  • 谷歌网站地图生成福州便民网免费发布信息
  • 最新军事战争新闻超级优化大师
  • 好的网站建设公司排名网站建设 交易保障
  • 怎么查看网站外链效果代理注册公司有什么风险
  • 西安网站漏洞免费自动生成小程序
  • 怎么修改网站信息同ip网站做301
  • 松江品划网络做网站logo设计网页
  • 重庆博达建设集团股份有限公司网站徐州建设企业网站
  • 有没有专门做老年婚介的网站东营会计信息网官网
  • 鞍山怎么做平台软件汕头网站时优化
  • 邹城建网站深圳装修公司排行榜