网站建设策划书百度文库企业微信营销系统

bicheng/2026/1/15 22:37:53/文章来源:
网站建设策划书百度文库,企业微信营销系统,wordpress美化插件,.net网站搭建作业 完善登录框 点击登录按钮后#xff0c;判断账号#xff08;admin#xff09;和密码#xff08;123456#xff09;是否一致#xff0c;如果匹配失败#xff0c;则弹出错误对话框#xff0c;文本内容“账号密码不匹配#xff0c;是否重新登录”#xff0c;给定两…作业 完善登录框 点击登录按钮后判断账号admin和密码123456是否一致如果匹配失败则弹出错误对话框文本内容“账号密码不匹配是否重新登录”给定两个按钮ok和cancel点击ok后会清除密码框中的内容继续进行登录如果点击cancel按钮则关闭界面。 如果账号和密码匹配则弹出信息对话框给出提示信息为“登录成功”,给出一个按钮ok点击ok后关闭整个登录界面跳转到其他界面 点击取消按钮后弹出问题对话框询问是否确定要退出登录给出两个按钮yes|no,点击yes则直接关闭整个登录界面如果点击no则进行进行登录 要求消息对话框对象版和静态成员函数版至少各实现一个 【免费】2023/9/18-C/QT实现简易登录资源-CSDN文库https://download.csdn.net/download/weixin_54147737/88354416 一、信号与槽机制 1.1 简介 1 信号与槽机制是qt引以为傲的、能够立于编程界而不倒的核心机制 2 作用实现多个组件之间的互相通信一个组件发信号另一个组件接收信号后做相应的响应 3 原理类似于IO中的两个进程间通过信号通信但是这里的信号是可以传递信息的 1.2 信号与槽 1 信号信号函数定义在类体内signals权限下的特殊成员函数该函数是不完整的函数只有声明没有定义返回值为void参数就是传递的信息 2 槽槽函数定义在类体内slots权限下的成员函数该函数是完整的函数既有声明也有定义返回值为void类型参数就是接收信号的信息 3 槽函数可以被当作普通函数一样调用但是普通函数不能当作槽函数一样连接信号 4 信号函数和槽函数不是标准的C代码通过moc.exe工具将其自动转化为标准的C代码 5 信号函数和槽函数可以是组件自带的也可以由用户自定义系统提供的每个组件都会自带信号与槽 6 包含信号与槽的类体定义 class Widget : public QWidget {Q_OBJECT //有关信号与槽的元对象signals: //该权限下定义属于自己的信号void my_signal(); //自定义一个无参无返回值的信号函数private slots:void my_slot(); //自定义无参无返回值的槽函数public:Widget(QWidget *parent nullptr);~Widget();private:Ui::Widget *ui; }; #endif // WIDGET_H 1.3 信号与槽的连接 1 基于ui界面的手动选中信号与槽的连接该连接只适用于系统提供的信号与槽的连接连接函数也是由系统实现 2 也是基于ui界面在组件上右键转到槽手动实现槽函数的内容该方法只能更改槽函数逻辑信号、连接都是由系统实现 3 qt4版本手动连接信号与槽该连接是不友好的连接因为两个宏的原因它会将所有传递的数据都改成字符串类型 [static] QMetaObject::Connection //返回值是建立的信号与槽的连接是一个静态成员函数QObject::connect( //函数名const QObject *sender, //信号发射者是组件的指针const char *signal, //要发射的信号函数函数是函数指针要的是字符串类型所以需要使用SIGNAL()宏进行转换后使用const QObject *receiver, //信号接收者是组件的指针const char *method) //接收信号后接收者要处理的槽函数函数是函数指针要的是字符串类型所以需要使用SLOT()宏进行转换后使用 举个例子QLabel *label new QLabel;QScrollBar *scrollBar new QScrollBar;QObject::connect(scrollBar, SIGNAL(valueChanged(int)),label, SLOT(setNum(int))); 4 qt5版本的信号与槽的连接 [static] QMetaObject::Connection //返回值是建立的信号与槽的连接是一个静态成员函数QObject::connect( //函数名const QObject *sender, //信号发射者是组件的指针PointerToMemberFunction signal, //信号函数的指针要指定是哪个类中的哪个成员函数const QObject *receiver, //信号接收者是组件的指针PointerToMemberFunction method) //槽函数的指针要指定是哪个类中的哪个成员函数 举个例子QLabel *label new QLabel;QLineEdit *lineEdit new QLineEdit;QObject::connect(lineEdit, QLineEdit::textChanged,label, QLabel::setText); 5 信号连接功能函数 [static] QMetaObject::Connection //返回值是建立的信号与槽的连接是一个静态成员函数QObject::connect( //函数名const QObject *sender, //信号发射者是组件的指针PointerToMemberFunction signal, //信号函数的指针要指定是哪个类中的哪个成员函数Functor functor) //功能函数全局函数作为功能函数、仿函数作为功能函数、lambda表达式作为功能函数 举个例子1全局函数作为功能函数void someFunction();QPushButton *button new QPushButton;QObject::connect(button, QPushButton::clicked, someFunction);举个例子2lambda作为功能函数QByteArray page ...;QTcpSocket *socket new QTcpSocket;socket-connectToHost(qt-project.org, 80);QObject::connect(socket, QTcpSocket::connected, [] () {socket-write(GET page \r\n);}); 6 信号与槽的断开 只需将之前的连接函数的connect改成disconnect即可参数不变 1.4 信号的定义与发射 1、在类体的signals权限下定义属于自己的信号 2、信号函数只有声明没有定义返回值为void可用有参数 3、在程序所需处使用关键字emit发射自定义的信号格式emit 信号名(实参); 4、信号函数可以连接到槽函数中也可以连接另一个信号函数表明发射第一个信号时第二个信号跟着发射 1.5 信号与槽的总结 1 一个信号可以连接多个槽函数 2 一个槽函数可以连接多个信号函数 3 一个信号函数可以连接到槽函数中也可以连接另一个信号 4 信号函数和槽函数参数个数 1、信号函数和槽函数进行链接时一般要求信号函数和槽函数的参数保持一致connect(信号发送者, SIGNAL(signalFun()),信号接收者, SLOT(slotFun())); //Okconnect(信号发送者, SIGNAL(signalFun(int)),信号接收者, SLOT(slotFun(int))); //Okconnect(信号发送者, SIGNAL(signalFun(int, char)),信号接收者, SLOT(slotFun(int, char))); //Okconnect(信号发送者, SIGNAL(signalFun(char, int)),信号接收者, SLOT(slotFun(int, char))); //Falseconnect(信号发送者, SIGNAL(signalFun(int)),信号接收者, SLOT(slotFun(char))); //False2、当信号函数的参数大于槽函数的参数时connect(信号发送者, SIGNAL(signalFun(int, char)),信号接收者, SLOT(slotFun())); //Okconnect(信号发送者, SIGNAL(signalFun(int, char)),信号接收者, SLOT(slotFun(int))); //Okconnect(信号发送者, SIGNAL(signalFun(int, char)),信号接收者, SLOT(slotFun(char))); //False3、当信号函数的参数小于槽函数的参数时connect(信号发送者, SIGNAL(signalFun(int)),信号接收者, SLOT(slotFun(int, char))); //Falseconnect(信号发送者, SIGNAL(signalFun(int)),信号接收者, SLOT(slotFun(int, char0))); //Ok 1.6 使用信号与槽实现简单的页面跳转 1 准备两个界面 2 在第一个界面中定义跳转的信号函数,第二个界面定义槽函数 3 可以在主程序中实例化两个界面第一个界面调用show函数第二个不调用并且在主调函数中将第一个界面的信号与第二个界面的槽函数连接 1) 头文件 widget.h #ifndef WIDGET_H #define WIDGET_H#include QWidget #includesecond.hQT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();signals:void jump(); //自定义跳转信号函数private slots:void on_loginBtn_clicked();private:Ui::Widget *ui;Second *s1; //定义另一个界面的指针 }; #endif // WIDGET_H second.h #ifndef SECOND_H #define SECOND_H#include QWidgetnamespace Ui { class Second; }class Second : public QWidget {Q_OBJECTpublic slots:void jump_slot(); //接收跳转信号的槽函数public:explicit Second(QWidget *parent nullptr);~Second();private:Ui::Second *ui; };#endif // SECOND_H 2) 源文件 widget.cpp #include widget.h #include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);s1 new Second; //给另一个界面实例化空间//将当前界面的信号与s1界面的槽函数进行连接connect(this,Widget::jump, s1, Second::jump_slot); }Widget::~Widget() {delete ui; }void Widget::on_loginBtn_clicked() {emit jump();this-hide(); //将当前界面隐藏 } second.cpp #include second.h #include ui_second.hSecond::Second(QWidget *parent) :QWidget(parent),ui(new Ui::Second) {ui-setupUi(this); }Second::~Second() {delete ui; }//接收跳转信号对应的槽函数 void Second::jump_slot() {this-show(); //将自己界面进行展示 } 3) 主程序 #include widget.h #includesecond.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//Second s; //定义第二个界面//连接w的信号与s的槽//QObject::connect(w, Widget::jump, s, Second::jump_slot);return a.exec(); } 二、对话框 2.1 消息对话框QMessageBox 1 该类提供的消息对话框用于提高用户的交互性可以提供问题对话框、信息对话框、警告对话框、错误对话框。。。 2 实现该对话框的方式有两种基于属性版本、静态成员函数版本 3 基于属性版本实现消息对话框公共该类实例化对象调用exec函数进入执行态该函数返回值时用户点击的按钮 QMessageBox::QMessageBox( //构造函数函数名QMessageBox::Icon icon, //图标const QString title, //对话框标题const QString text, //对话框提示文本内容QMessageBox::StandardButtons buttons NoButton, //对话框提供的按钮如果有多个按钮则使用位或隔开QWidget *parent nullptr) //父组件参数1介绍对话框提供的图标该类中的枚举值ConstantValueDescription QMessageBox::NoIcon0the message box does not have any icon.//不提供任何图标 QMessageBox::Question4an icon indicating that the message is asking a question.//提供一个问号图标 QMessageBox::Information1an icon indicating that the message is nothing out of the ordinary.//提供一个i符号图标 QMessageBox::Warning2an icon indicating that the message is a warning, but can be dealt with.//提供一个感叹号图标 QMessageBox::Critical3an icon indicating that the message represents a critical problem. //提供一个叉号图标参数4介绍对话框上提供的标准按钮时类中的枚举值如果有多个按钮中间有位或隔开 ConstantValueDescription QMessageBox::Ok0x00000400An OK button defined with the AcceptRole. //提供一个ok按钮 QMessageBox::Open0x00002000An Open button defined with the AcceptRole. //提供一个open按钮 QMessageBox::Save0x00000800A Save button defined with the AcceptRole. //提供一个保存按钮 QMessageBox::Cancel0x00400000A Cancel button defined with the RejectRole. //提供一个取消按钮 QMessageBox::Close0x00200000A Close button defined with the RejectRole. //提供一个关闭按钮 QMessageBox::Discard0x00800000A Discard or Dont Save button, depending on the platform, defined with the DestructiveRole.//不保存 举个例子QMessageBox msgBox; //实例化对象msgBox.setText(The document has been modified.);msgBox.setInformativeText(Do you want to save your changes?);msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);msgBox.setDefaultButton(QMessageBox::Save);int ret msgBox.exec(); //展示对话框//判断用户点击的结果switch (ret) {case QMessageBox::Save:// Save was clickedbreak;case QMessageBox::Discard:// Dont Save was clickedbreak;case QMessageBox::Cancel:// Cancel was clickedbreak;default:// should never be reachedbreak;} 4 基于静态成员函数版本无需实例化对象但是只能设置有限的信息 [static] QMessageBox::StandardButton //函数返回值类型是用户点击的标准按钮该函数是静态成员函数QMessageBox::warning( //函数名QWidget *parent, //父组件const QString title, //对话框标题const QString text, //对话框文本内容QMessageBox::StandardButtons buttons Ok, //提供的标准按钮多个按钮用位或隔开QMessageBox::StandardButton defaultButton NoButton) //默认选中的按钮举个例子int ret QMessageBox::warning(this, tr(My Application),tr(The document has been modified.\nDo you want to save your changes?),QMessageBox::Save | QMessageBox::Discard| QMessageBox::Cancel,QMessageBox::Save);其余的静态成员函数QMessageBox::StandardButton critical(QWidget *parent, const QString title, const QString text, QMessageBox::StandardButtons buttons Ok, QMessageBox::StandardButton defaultButton NoButton) QMessageBox::StandardButton information(QWidget *parent, const QString title, const QString text, QMessageBox::StandardButtons buttons Ok, QMessageBox::StandardButton defaultButton NoButton) QMessageBox::StandardButton question(QWidget *parent, const QString title, const QString text, QMessageBox::StandardButtons buttons StandardButtons(Yes | No), QMessageBox::StandardButton defaultButton NoButton)5 案例 1) 头文件 #ifndef WIDGET_H #define WIDGET_H#include QWidget #includeQMessageBox //消息对话框类 #includeQDebugQT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();private slots:void on_quesBtn_clicked();void on_warnBtn_clicked();private:Ui::Widget *ui; }; #endif // WIDGET_H 2) 源文件 #include widget.h #include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this); }Widget::~Widget() {delete ui; }//问题按钮对应的槽函数 void Widget::on_quesBtn_clicked() {//1、调用构造函数实例化对象QMessageBox box(QMessageBox::Question, //图标问题, //对话框标题晚上约不, //对话框文本内容QMessageBox::Yes | QMessageBox::No, //提供的按钮this); //父组件box.setDetailedText(有上好的飞天茅台); //提供详细文本内容box.setDefaultButton(QMessageBox::No); //将no设置成默认按钮box.setButtonText(QMessageBox::Yes, 好的);box.setButtonText(QMessageBox::No, 没空);//2、调用exec函数运行对话框int ret box.exec();//3、对结果进行判断if(ret QMessageBox::Yes){qDebug()木的问题老地方见;}else if(ret QMessageBox::No){qDebug()下次一定;} }//警告按钮对应的槽函数 void Widget::on_warnBtn_clicked() {//直接调用静态成员函数完成对话框的实现int ret QMessageBox::warning(this, //父组件警告, //对话框标题放学等着别走, //对话框文本内容QMessageBox::Yes|QMessageBox::No, //对话题提供的按钮QMessageBox::No); //默认选中的按钮//对用户选中的按钮进行判断if(ret QMessageBox::Yes){qDebug()行荤的还是素的文的还是武的任你挑;}else if(ret QMessageBox::No){qDebug()你永远是我大哥;} } 三、加载资源文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/90184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站和seo流程响应式企业展示型网站模板

在我们的python使用过程中,可能会遇到这样的情况: 我们得到的中文数据是unicode编码类型的,这在python中是没有问题的,可以直接打印显示为中文。 但是,如果我们需要和其它语言或前端进行交互或需要存到数据库中的时候&…

网球最新消息成功的网站不仅仅是优化排

目录 1、找出字符串中第一个只出现一次的字符 2、字符串相乘 3、反转字符串中的单词 III 4、反转字符串 II 5、字符串相加 6、验证回文串 7、字符串最后一个单词的长度 8、字符串中的第一个唯一字符 9、仅仅反转字母 1、找出字符串中第一个只出现一次的字符 #include…

wordpress能开发商城网站吗品牌网站建设 2蝌蚪小

如何反溯源隐藏自己的源IP防止溯源? 还有些大牛会进行渗透攻击、CC攻击,溯源打服务器,各式各样的,防不胜防。所以很多站长套起了cdn,比起cdn提供的加速效果,更多的站长可能还是为了保护那可怜弱小的源站ip…

东昌府聊城做网站公司jsp网站入门

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。抽象工厂模式是围绕一个超级工厂创建其他工厂的模式。该模式的实现涉及…

威海网站优化推广下载手机app的软件

全世界只有3.14 % 的人关注了数据与算法之美2018年6月4日,微软在官方博客上宣布:以75 亿美元的价格收购了全球最大的开源代码托管平台GitHub。谁也没想到,微软和开源这场长达几十年的战争,到最后双方竟然喜结连理了。不过&#xf…

长沙做公司网站大概多少钱三角镇建网站公司

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:Node.js 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续前进的勇…

湛江住房和城乡建设局网站手机营销型网站建设

为了顺应不断变化的市场需求,有些行业慢慢销声匿迹,有些行业刚刚崭露头角,目前陪诊的市场需求也在逐渐扩大,陪诊小程序也随之到来,主要面向独居老人,孕妇,残障人士等等给予专业性的陪诊就医服务…

php网站开发开发网站教程湖北神润建设工程网站

本篇文章帮大家学习java 如何中断线程,包含了Java 如何中断线程使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。以下实例演示了如何使用interrupt()方法来中断线程并使用 isInterrupted() 方法来判断线程是否已…

网站建设备案方案顶易云外贸软件

sockaddr结构体 sockaddr结构体是在网络编程中经常使用的一个数据结构,用来表示套接字地址。它是一个通用的地址结构,可以用于不同的协议(如IPv4、IPv6、UNIX等)。 在C语言中,sockaddr结构体定义如下: s…

织梦后台怎么做导航栏的网站首页网站的意思

在 Node-RED 规则引擎中,自定义节点是扩展其功能的重要方式。通过添加自定义节点,用户可以根据自己的需求定制节点,实现特定的功能。下面将介绍如何对 Node-RED 规则引擎进行重构,并添加自定义节点。 一、准备环境 首先&#xf…

宣传片制作企业济宁优化公司

在某些类中, 什么时机, 做什么事情 切入点(point-cut): 在某些类中(Class<?>[] itfc new Class<?>[] { IStudentService.class }) 通知: 什么时机, 做什么事情(InvocationHandler的invoke方法) 切面: 切入点 通知 织入(weaver): Proxy.newProxyInstance: 把切入…

新型网站设计网站经营范围

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型 文章目录 ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型一、介绍二、使用方式1、环境安装2、代码调用3、从本地加载模型 4、API 部署 三、低成本部署1、模型量化2、CPU 部署3、Mac 部署4、…

网站建设邮医院网站开发百度文库

文章目录 序言准备环境准备图片处理图片下载kohya_ss代码修改pyvenv.cfg启动界面访问地址生成字幕准备训练的文件夹配置训练参数开始训练遇到的问题&#xff1a; 序言 在把玩stable diffusion的webUI和comfyUI后&#xff0c;思考着自己也微调一个个性化风格的checkpoint、LyCO…

国产做网站电子工程建设信息网站

Redis 除了做缓存,还能干很多很多事情:分布式锁、限流、处理请求接口幂等性。。。 1.准备工作 首先创建一个 Spring Boot 工程,引入 Web 和 Redis 依赖,同时考虑到接口限流一般是通过注解来标记,而注解是通过 AOP 来解析的,所以还需要加上 AOP 的依赖,最终的依赖如下:…

用手机搭建自己的网站建设网站的公司swot

你是否因为虚拟机命令行操作不便而头疼&#xff1f;是否因为难以复制粘贴而烦恼&#xff1f;是否因为无法快速上传文件而烦躁&#xff1f; 别急&#xff01;现在有一个简单便捷的软件能够实现上述你所述说的所有烦恼&#xff0c;请听我细细道来~ 一、查看虚拟机的ip地址 a.首…

做代理网站用什么软件科技公司起名

权限管理和访问控制 1、MySQL如何控制用户对数据库的访问&#xff1f; MySQL服务器通过权限表来控制用户对数据库的访问&#xff0c;权限表存放在MySQL数据库中。MySQL数据库系统根据这些权限表的内容来为每个用户赋予权限。其中有user表、db表、table_priv表、column_priv表…

什么叫商城网站一个人在线观看播放视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、class类1.类属性操作&#xff08;增删改&#xff09;2.类方法操作 二、类的继承1、语法2、方法重写 二、类的多态 一、class类 、三部分组成 1、类名&#xff…

网站手机版怎么弄网站建设与优化合同

文章目录 一、设计框图二、模块设计三、IP核配置四、上板验证五、总结 一、设计框图 关于GT高速接口的设计一贯作风&#xff0c;万兆以太网同样如此&#xff0c;只不过这里将复位逻辑和时钟逻辑放到了同一个文件ten_gig_eth_pcs_pma_0_shared_clock_and_reset当中。如果是从第…

做编程网站有哪些内容php源码怎么搭建网站

TCP和UDP的概念、特点、区别和对应的使用场景&#xff1f; 我的回答&#xff1a; 概念&#xff1a; TCP是传输控制协议&#xff0c;是面向连接、可靠的、基于字节流的传输层通信协议。 UDP是用户数据报协议&#xff0c;是无连接、不可靠的&#xff0c;基于数据包的传输层通信…

网站备案是需要去哪里做网站flash制作教程

笔记来源—— 【工程数学基础】9_阈值如何选取&#xff1f;&#xff1f;在机器视觉中应用正态分布和6-Sigma【这是一期不需要记笔记的轻松视频&#xff0c;简单的知识&#xff0c;重要的运用】 比如我们要识别我们的产品上面是否有保护膜&#xff0c;我们可以通过白色像素点的…