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

商务网站建设内容台州免费自助建站模板

商务网站建设内容,台州免费自助建站模板,怎么做监测网站的浏览量,外贸做零售的网站一、信号与槽 1、什么是信号与槽#xff1f; 信号和槽是用于对象之间的通信#xff0c;它是Qt的核心机制#xff0c;在Qt编程中有着广泛的应用。如果想学好Qt#xff0c;一定要充分掌握信号的槽的概念与使用。 2、信号和槽的代码实例 在Qt中#xff0c;发送对象、发送的信…一、信号与槽 1、什么是信号与槽 信号和槽是用于对象之间的通信它是Qt的核心机制在Qt编程中有着广泛的应用。如果想学好Qt一定要充分掌握信号的槽的概念与使用。 2、信号和槽的代码实例 在Qt中发送对象、发送的信号、接收对象、槽可以通过很多种方式连接。下面通过一些例子逐一做演示如下 2.1、Qt4使用宏 在Qt4及之前的版本基于connect宏实现信号与槽绑定其中发送信号和槽函数需要用 SIGNAL() 和 SLOT() 来进行声明connect函数声明如下 QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type Qt::AutoConnection)比如点击登录按键完成登录的例子代码可以这样写 // 槽函数声明 private slots:void login();通过connect绑定槽函数如下 #include mainwindow.h #include ui_mainwindow.h #include QDebugMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);// 登录按键绑定槽函数connect(this-ui-btn_ok, SIGNAL(clicked(bool)), this, SLOT(login()));}void MainWindow::login() {QString username ui-lineEdit_username-text();QString password ui-lineEdit_password-text();if (username jack password 12345) {qDebug() login success;} else {qDebug() login fail;} }注意 声明槽函数要使用private slots或public slots关键字信号和槽参数不能包含任何变量名只能包含类型 2.2、使用Qt Creator添加信号的槽函数 通过Qt Creator 界面来完成发送信号和槽函数的连接比如右键点击一个按钮然后选择“转到槽” Qt Creator会自动生成如下代码首先是槽函数的声明 // 槽函数声明 private slots:void on_btn_cancel_clicked(bool checked);槽函数实现如下 #include mainwindow.h #include ui_mainwindow.h #include QDebugMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_btn_cancel_clicked(bool checked) {} 使用这种方法不需要使用connect函数将信号与槽函数做连接。 这里槽函数的命名有一定的规则一般是 on_objectname_signal 这样来命名的。这种方法优点是减少了手动敲代码的工作量缺点是究竟有哪些信号与槽函数做了连接不易被发现没有connect 函数看起来直观。 2.3、Qt5新connect函数 Qt5推出了新的connect函数不需要使用SIGNAL()和SLOT()宏可以在编译时做类型检查connect函数声明如下 QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type Qt::AutoConnection)使用这种方法槽函数的声明不需要放到slots中只要像普通的函数一样声明就可以了类型需要与信号保持一致下面给登录按键绑定槽函数如下 class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();// 声明槽函数与普通的成员函数一样void login();private:Ui::MainWindow *ui; };绑定槽函数 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);// 登录按键绑定槽函数connect(ui-btn_ok, QPushButton::clicked, this, MainWindow::login); }void MainWindow::login() {qDebug() login; }2.4、使用函数指针 在Qt 5版本的connect 函数里信号与槽函数的参数其实都是函数指针当信号或槽函数有重载时使用函数指针可以明确告诉编译器使用哪一个重载函数避免歧义 public:MainWindow(QWidget *parent nullptr);~MainWindow();// 声明两个同名的login函数void login();void login(int state); 通过函数指针绑定槽函数 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);// 定义函数指针注意声明指向成员函数的指针时要增加类作用域void (MainWindow::*pfnLoginSlot)() MainWindow::login;// 登录按键绑定无参槽函数connect(ui-btn_ok, QPushButton::clicked, this, pfnLoginSlot); }void MainWindow::login() {qDebug() login; }void MainWindow::login(int state) {qDebug() login state; }2.5、使用Lambda表达式 在connect函数中槽函数参数可以改用Lambda表达式的方式来进行传参。使用 Lambda表达式的好处是代码的书写更加方便快捷同时不需要在类中对槽函数做任何的声明了 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);// 使用Lamdbda表达式作为槽函数connect(ui-btn_ok, QPushButton::clicked, this, [](){qDebug() login;}); }3、小结 信号与槽提供了一种事件触发机制发送者与接收者通过connect链接在一起发送者与接收者之间是松耦合
http://www.hkea.cn/news/14291066/

相关文章:

  • 南通网站建设方案书商务网站制作语言基础
  • 乐清站在那儿亚当学院网站建设视频教程
  • 河北专业网站建设化妆品设计网站
  • 山西省建设银行网站广西建筑特种作业证件查询官网
  • 专业的网站设计制作wordpress 生成页面
  • 深圳做网站的好公司杭州做企业网站
  • 什么软件做电影短视频网站有哪些免费建站的网站
  • 西宁个人网站建设深圳定制网站制作
  • 烟台定制网站建设价格seo是什么的简称
  • 陕西通达工程建设有限公司网站长春网站快照优化公司
  • 友情链接网站免费品牌型网站
  • 怎么搭建钓鱼网站软件设计的过程
  • 网站开发与应用是什么长沙人才网官网入口
  • 软件工程师报名官网2022年seo还值得做吗
  • 做皮革网站100部看黄禁用免费在线
  • 网站信息同步做环保网站案例分析
  • 创意网站建设话术百度站长平台验证网站
  • 网站集约化建设性能要求怀化住建部网站
  • 网站seo视频教程在哪里做企业网站
  • 石家庄住房和建设局网站外贸公司论坛
  • 网站建设方案的所属行业是wordpress 一个主题
  • 智能建网站免费网站建设教程视频
  • 现在.net做网站的多吗地产网站建设互动营销
  • 最佳配色网站微企推
  • 个人网页官方网站wordpress後台小程序
  • 孝昌县专注网站建设代理设计师培训有哪些课程
  • 北京网站开发哪家公司好电子商务网站建设的书
  • 电商网站设计与制作总结如何把网站推广出去
  • 360免费wifi不能上网seo是哪个国家
  • 佛山外贸网站建设公司小程序公司代理