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

关于自己公司的网站怎么做济南住房和房产信息网

关于自己公司的网站怎么做,济南住房和房产信息网,sina app engine wordpress,青岛seo推广专员目录 1.信号源、信号和槽#xff1a; 2.Qt类的继承关系#xff1a; 3.自定义槽函数#xff1a; 4.第一种信号和槽的连接的方法#xff1a; 5.第二种信号和槽的连接的方法#xff1a; 6.自定义信号#xff1a; 7.发射信号#xff1a; 8.信号和槽的传参#xff1a;…目录 1.信号源、信号和槽 2.Qt类的继承关系 3.自定义槽函数 4.第一种信号和槽的连接的方法 5.第二种信号和槽的连接的方法 6.自定义信号 7.发射信号 8.信号和槽的传参 9.信号和槽的意义 10.断开信号和槽的连接 11.槽函数和lambda表达式 1.信号源、信号和槽 信号源Sender发出信号的对象。信号Signal由对象发出用于通知某个事件的发生。用户进行不同的个操作会触发不同的信号比如点击按钮勾选选择框等槽Slot一个函数可以连接到信号。当信号发出时连接到该信号的槽会被调用 2.Qt类的继承关系 QObject 是所有Qt对象的基类提供信号槽、事件处理等基础功能。QWidget 是所有用户界面对象的基类继承自 QObject提供窗口部件的绘制、事件处理等功能。各种小控件如 QPushButton, QLabel, QLineEdit 等都继承自 QWidget从而拥有用户界面的功能。 3.自定义槽函数 槽函数的有两种定义方式第一种先在widget对象中声明然后在.cpp文件中定义。第二种使用拖拽的方式创建控件创建好后在ui界面右键点击要添加槽函数的控件会出现一个菜单选择转到槽就能够看到可以定义的所有槽函数选择之后会自动生成槽函数的声明和定义的框架。第一种方法自定义的槽函数要使用connect手动进行连接信号但是第二种自动生成槽函数我们发现头文件和槽函数源文件中都没有生成connect连接。 4.第一种信号和槽的连接的方法 要使信号和槽连接起来。通常使用QObject::connect函数进行连接旧版本的conncect函数格式为 connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method,Qt::ConnectionType type Qt::AutoConnection); 其中的前四个参数分别代表发出信号的对象、信号的类型的函数指针、接收信号并执行槽函数的对象、槽函数的函数指针。旧版本的connect函数传参时需要将函数指针转换为char*类型需要用到两个宏函数SIGNAL和SIGNAL来分别将connect的第二和第四个参数转换为char*类型。从Qt5开始使用了模板进行泛型编程就可以不在使用两个宏来转换指针类型可以直接传递函数指针了。 5.第二种信号和槽的连接的方法 利用特定的命名规则来命名槽函数自动连接信号和槽。因为通过拖拽的方式生成的每一个控件都有唯一的objectname通过这个唯一的objectname以一定的格式来命名槽函数就可以建立信号和槽之间的关联。具体的命名规则如下 void on_object name_signal name(signal parameters); object name 是发出信号的对象的名称对象的 objectName 属性。signal name 是信号的名称。例如如果有一个按钮对象其 objectName 是 myButton并且要自动连接它的 clicked() 信号到某个槽函数那么槽函数的名称应为void on_myButton_clicked();当有槽函数的名称符合上述命名规则qt就会触发自动连接信号和槽的规则。 如果通过拖拽的方式创建控件建议使用自动连接信号和槽。如果手动创建控件还是使用connect建立连接。Qt 的自动连接机制主要通过 connectSlotsByName 函数实现。这个函数会根据对象的 objectName 属性和槽函数的名称进行匹配从而自动连接信号和槽。也可以在手动调用该函数的情况下不使用connect。 6.自定义信号 用户可以进行的操作是可以穷举的Qt的内置信号基本可以覆盖用户的所有可能的操作。所以很少会用到自定义信号。在 Qt 中自定义信号是一个没有函数体的函数声明。程序员只需声明信号即可这个函数的定义是由 Qt 在编译过程中自动生成的程序员无法干预信号函数的具体实现。信号函数的返回值必须是void。信号函数可以有参数也可以没有参数。支持函数重载。声明信号要加上signal就像声明一个函数为public一样当Qt扫描到signal时就会默认下面的函数声明当作信号并且给这些信号函数自动生成函数的定义。 signals:void customSignal(int value); // 自定义信号 7.发射信号 Qt的内置信号无需手动触发但是自定义信号需要手动触发。发射信号需要使用emit关键字emit信号函数的调用就可以实现信号的发送。比如一个叫mySignal的自定义信号要发送这个信号就可以emit mySignal()在Qt5中不写emit直接调用信号函数也可以发送信号但是加上emit可以提高代码的可读性。还是加上吧。 8.信号和槽的传参 信号和槽都可以带参数当信号带有参数时槽的参数必须和信号的参数一致。当带参的信号被发送出去被对应的槽函数接收后就能够达到让信号给槽传参的效果了。信号和槽的参数数量可以不一致但是类型必须一致要求信号的参数大于等于槽的参数数量。在Qt中如果想要一个类能够使用信号槽就需要在类的开始加上Q_Object。          9.信号和槽的意义 信号和槽要解决的问题就是响应用户的操作。Qt搞一个单独的connect完成信号和槽的连接有两点设想其一是把控件和用户逻辑解耦合其二是实现多对多的效果可以一个信号绑定多个槽也可以一个槽绑定多个信号。实际上多对多是一个伪需求实际开发中一对一就足够使用了。 10.断开信号和槽的连接 使用disconnect可以断开信号和槽的连接使用方法和connect非常相似一般来说很少主动断开当要将信号重新绑定到另一个槽上时才会用到断开。传递参数和connect一样。 11.槽函数和lambda表达式 在 Qt 中可以使用 lambda 表达式来定义和连接槽函数。使用 lambda 表达式作为槽函数的好处是可以直接在 connect 调用中编写逻辑避免为简单的操作单独定义槽函数。类似于匿名函数。connect的第四个参数是由三组括号构成[ ]( ){ }。第一对括号可以用于变量捕获Lambda 表达式的变量捕获机制允许在 lambda 表达式内部访问外部作用域中的变量。 connect(button, QPushButton::clicked, this, [this, count]() mutable {count;}); 第二对括号传递参数第三对括号实现逻辑。
http://www.laogonggong.com/news/129459.html

相关文章:

  • 谁有做开档棉裤的网站啊域名注册价格
  • 常州网站推广排名肇庆企业自助建站
  • 建设网站的市场定位织梦网站底部黑链
  • 山东省住房和城乡建设局网站首页网站做301好不好
  • wordpress 卸载插件南昌网络排名优化
  • 网站在百度上搜不到微官网怎么开通使用
  • 农场理财网站建设导视设计报价
  • 百度验证网站的好处发布程序后网站有很多
  • 做网站几天能学会最新最好的磁力搜索
  • 定制专业网站杨家坪网站建设
  • 360免费建站系统临沧建设局网站
  • 律师个人网站模板灯饰外贸网站
  • 湖南网站营销seo哪家好html文件如何转wordpress
  • 衡阳商城网站建设春节网页设计主题
  • 现在怎么做网站做一个营销型的网站多少钱
  • php开源cms排行广州seo营销培训
  • 广州做网站seo广西造建设工程协会网站
  • 局网站建设合同网站建设公司株洲
  • 汕头网站优化电话ps 怎么做网站
  • 地产网站建设wordpress the7使用教程
  • 东莞网站制作电话商城网站建站
  • 做招牌的网站python 网站开发必会
  • 佛山网站建设公司哪专业linux怎么下载wordpress
  • 中国建设银行产品信息网站晋安网站建设
  • 唐山建站公司房屋备案信息查询入口
  • 淘宝联盟网站怎么做美工网站设计是什么
  • 专业深圳网站建设做文学网站算不算开公司
  • 长沙网站制作的制作个人网站的要求
  • 鄂尔多斯教育网站入口企业网站建站技术
  • 摄影的网站设计特点百度大全免费下载