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

电商网站开发怎么样企业怎么建设网站首页

电商网站开发怎么样,企业怎么建设网站首页,织梦 网站公告,什么推广方法是有效果的文章目录 1、简介2、代码实现2.1 界面菜单“转到槽”方法2.2 界面信号槽编辑器方法2.3 QT4.0的绑定方法2.4 QT5.0之后的绑定方法2.5 C11的方法2.6 lamda表达式方法 结语 1、简介 在GUI编程中#xff0c;当我们更改一个小部件时#xff0c;我们通常希望通知另一个小程序。更普… 文章目录 1、简介2、代码实现2.1 界面菜单“转到槽”方法2.2 界面信号槽编辑器方法2.3 QT4.0的绑定方法2.4 QT5.0之后的绑定方法2.5 C11的方法2.6 lamda表达式方法 结语 1、简介 在GUI编程中当我们更改一个小部件时我们通常希望通知另一个小程序。更普遍地说我们希望任何种类的物体都能够相互通信。例如如果用户单击“关闭”按钮我们可能希望调用窗口的Close()函数。 其他工具包使用回调实现这种通信。回调是指向函数的指针因此如果您希望处理函数通知您某个事件您可以将指向另一个函数的指针回调传递给处理函数。然后处理函数在适当的时候调用回调。虽然使用这种方法的成功框架确实存在但回调可能是非直观的并且在确保回调参数的类型正确性方面可能会遇到问题。 在Qt中我们有一种替代回调技术的方法我们使用信号和槽。当特定事件发生时会发出一个信号。Qt的小部件有许多预定义的信号但我们总是可以对小部件进行子类化以向它们添加我们自己的信号。槽是响应于特定信号而调用的函数。Qt的小部件有许多预定义的插槽但通常的做法是对小部件进行子类化并添加自己的插槽以便处理您感兴趣的信号。 信号与槽是用于对象之间的通信的这是 Qt 的核心。为此 Qt 引入了一些关键字他们是slots、signals、emit这些都不是 C关键字是 Qt 特有的这些关键字会被 Qt 的 moc转换为标准的 C语句。 连接规则 1、信号参数可以比槽函数多反之则不可以 2、 一个信号可以连接多个槽 3、多个信号可以连接到一个槽 4、一个信号可以与另一个信号连接 2、代码实现 2.1 界面菜单“转到槽”方法 在按钮上鼠标右键弹出菜单选择“转到槽…”如下 弹出小窗口选择“clicked()”后确定。 然后在文件里自动生成代码如下 mainwindow.h private slots:void on_pushButton_clicked();mainwindow.cpp void MainWindow::on_pushButton_clicked() {QMessageBox::information(this, , on_pushButton_clicked); }2.2 界面信号槽编辑器方法 打开信号槽编辑界面添加记录设置相关参数。 在mainwindow.ui界面定义文件中会自动生成对应的代码可以手动修改。 2.3 QT4.0的绑定方法 Qt4使用了SIGNAL和SLOT这两个宏将信号和槽的函数名转换成了字符串。使用字符串导致了Qt4有以下缺点一旦出现连接不成功的情况Qt 4 是没有编译错误的 connect(obj1, SIGNAL(fun1(param1, param2,...)), obj2, SLOT(fun2(param1,...)));优点对所有控件都适用。 缺点书写繁琐槽函数必须在slots标签下。 1和控件有关系的信号槽 mainwindow.h private slots:void pushButon1_clicked();mainwindow.cpp MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);connect(ui-pushButton,SIGNAL(clicked()),this,SLOT(pushButon1_clicked())); }void MainWindow::pushButon1_clicked() {QMessageBox::information(this, , pushButon1_clicked); }2和控件无关系的信号槽 mainwindow.h signals: //信号void mySignal_1(int a);void mySignal_2(int a, float b);private slots: //槽void mySlot_1(int b);void mySlot_2(int b);mainwindow.cpp MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);//信号槽connect(this,SIGNAL(mySignal_1(int)),this,SLOT(mySlot_1(int)));connect(this, SIGNAL(mySignal_2(int, float)), this, SLOT(mySlot_2(int))); } void MainWindow::mySlot_1(int b) {QString str QString::number(b);QMessageBox::information(this, 1, str); } void MainWindow::mySlot_2(int b) {QString str QString::number(b);QMessageBox::information(this, 2, str); } void MainWindow::test() {//发送信号emit mySignal_2(5, 2.2);emit mySignal_1(123); }注意在不进行参数传递时信号槽绑定时也是要求信号的参数数量大于等于槽函数的参数数量。这种情况一般是一个带参数的信号去绑定一个无参数的槽函数。 2.4 QT5.0之后的绑定方法 mainwindow.cpp MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);connect(ui-pushButton,QPushButton::clicked,this,::MainWindow::pushButon1_clicked); }void MainWindow::pushButon1_clicked() {QMessageBox::information(this, , pushButon1_clicked); }connect()函数基于函数指针的重载形式 [static] QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type Qt::AutoConnection)注意这是QT5中加入的一种重载形式指定信号和槽两个参数不再使用SIGNAL()和 SLOT()宏并且槽函数不再必须是使用slots关键字声明的函数可以是任意能和信号关联的成员函数。要使一个成员函数可以和信号关联那么这个函数的参数数目不能超过信号的参数数目但是并不要求该函数拥有的参数类型和信号中对应的参数类型完全一致只需要可以进行隐式转换即可。 connect(dlg, myWindwow::test1, this, myWidget::test2);2.5 C11的方法 mainwindow.cpp MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);connect(ui-pushButton, QOverloadbool::of(QPushButton::clicked),this,::MainWindow::pushButon1_clicked); }void MainWindow::pushButon1_clicked() {QMessageBox::information(this, , pushButon1_clicked); }2.6 lamda表达式方法 还支持C11 中的lambda表达式可以在关联时直接编写信号发射后要执行的代码。 connect(dlg, MyWindow::test1, [ ](int value){ui-label-setText(tr(获取的值是%1)arg(value)); });mainwindow.cpp MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);connect(ui-pushButton, QOverloadbool::of(QPushButton::clicked),[](){QMessageBox::information(this, , lamda表达式绑定成功);}); }或 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);connect(ui-pushButton, QPushButton::clicked, this, [](){QMessageBox::information(this, , lamda表达式绑定成功2);}); }结语 如果您觉得该方法或代码有一点点用处可以给作者点个赞或打赏杯咖啡╮(▽)╭ 如果您感觉方法或代码不咋地//(ㄒoㄒ)//就在评论处留言作者继续改进o_O??? 如果您需要相关功能的代码定制化开发可以留言私信作者(✿◡‿◡) 感谢各位童鞋们的支持( ´ ▽´ ) ( ´ ▽´)っ
http://www.pierceye.com/news/79564/

相关文章:

  • 欧泰国际物流网站个人养老保险缴费明细
  • 微网站栏目图标如何建设自己的php网站
  • 上海做网站企业高校网站建设管理制度
  • 艺术网站建设公司营业推广促销
  • 电商企业网站建设方案影视广告设计制作
  • 怎么免费搭建属于自己的网站wordpress koncept 下载
  • 佛山顺德容桂做网站的公司企业网站代码模板下载
  • 免费网站管理系统网络运营的工作内容
  • 基层政权和社区建设司网站.net电影网站开发
  • 长沙电商网站建设wordpress 4.4.8
  • 网站开发哪个工具wordpress引用群晖文件夹
  • 购物网站设计思路字体设计网站有哪些免费
  • linux下用python做网站海天建设集团公司网站
  • 代发货网站系统建设网站开发要先买服务器吗
  • 郑州网站app建设毕业设计做网站起个名字
  • 网站设计与制作说明书城市联盟网站怎么做
  • 凡科申请的网站和qq空间一样吗电子请柬制作软件app
  • 网站建设人工智能有系统源码可以做网站吗
  • 哪里做企业网站公司电脑管理软件
  • 做外贸网站那个平台好宁波东方论坛首页
  • 网站建设好不好学个人养老保险缴费明细查询
  • 用wordpress搭建目录网站手机站和微网站的区别
  • 中国建设行业信息网站网站建设经费计划内容
  • 网站建设述职报告h5做网站
  • 国外网站模板欣赏用照片做的ppt模板下载网站
  • 自己怎么做微信小程序网站河北seo推广方案
  • 站群推广有哪些方式wordpress 斜杠
  • 网站美工切图是如何做的asp做素材网站
  • 网站编辑内容wordpress 禁用插件
  • 专业制作网站哪家专业学做网站制作