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

怎么样制作一个公司网站推广做网站多少钱

怎么样制作一个公司网站,推广做网站多少钱,网站怎样做才会被百度收录,有哪些vue做的网站信号与槽机制 信号与槽的介绍 功能#xff1a;实现多个组件之间的相互通信#xff0c;是QT引以为傲的核心机制信号#xff1a;就是信号函数#xff0c;定义在类体的signals权限下#xff0c;是一个不完整的函数#xff0c;只有声明没有定义#xff1b;槽#xff1a;就…信号与槽机制 信号与槽的介绍 功能实现多个组件之间的相互通信是QT引以为傲的核心机制信号就是信号函数定义在类体的signals权限下是一个不完整的函数只有声明没有定义槽就是槽函数定义在类体的slots权限下是一个完整的函数既有声明也有定义也可以当做普通函数被使用无论信号函数还是槽函数返回值一般都是void类型参数可以自定义参数的目的就是为了传递信息包含信息与槽定义的类体 class Widget : public QWidget {Q_OBJECT //信号与槽的元对象signals:void my_signal(); //自定义信号函数public slots:void my_slot(); //自定义的槽函数public:Widget(QWidget *parent nullptr);~Widget();private:Ui::Widget *ui; };信号与槽的连接 在ui界面下的信号与槽的编辑处进行连接该连接方式只能发射系统提供的信号并使用系统提供的槽函数在ui界面的组件上右键转到槽选择信号槽函数逻辑需要自行书写 qt4版本的连接函数(书写错误不会报错) [static] QMetaObject::Connection //返回值是一个连接并且该函数是一个静态成员函数QObject::connect( //函数名const QObject *sender, //信号的发射者是组件的指针const char *signal, //要发射的信号是一个C语言风格的字符串将信号函数传递进来时需要使用SIGNAL宏进行转换const QObject *receiver, //信号的接受者是组件的指针onst char *method) //处理信号的槽函数是C风格字符串将槽函数传递进来时需要使用SLOT宏进行转换 注意信号函数必须是信号的发射者所在的类中有的信号函数而槽函数也必须是信号的接受者中有的槽函数 举个例子QLabel *label new QLabel;QScrollBar *scrollBar new QScrollBar;QObject::connect(scrollBar, SIGNAL(valueChanged(int)),label, SLOT(setNum(int)));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);信号连接外部函数或lambda表达式 [static] QMetaObject::Connection //返回值是一个连接并且该函数是一个静态成员函数QObject::connect( //函数名const QObject *sender, //信号的发射者是组件的指针PointerToMemberFunction signal, //信号函数的函数指针变量直接填写函数名即可Functor functor) //处理信号的功能函数可以是全局函数也可以是lambda表达式举个例子void someFunction();QPushButton *button new QPushButton;QObject::connect(button, QPushButton::clicked, someFunction);Lambda 表达式作为槽函数:QByteArray page ...;QTcpSocket *socket new QTcpSocket;socket-connectToHost(qt-project.org, 80);QObject::connect(socket, QTcpSocket::connected, [] () {socket-write(GET page \r\n);});断开信号与槽的连接 只需将上面的连接函数前加dis即可参数都不变 发射自定义信号 在自定义类体内的signals权限下定义自定义的信号函数返回值为void可以有参数也可以没参数在程序所需处使用关键字emit发射自定义的信号emit 信号名(实参列表)将自定义的信号与槽函数进行连接当自定义的信号发射后槽函数会立即响应 信号与槽函数总结 一个信号可以连接到多个槽函数中当信号被发射后与之连接的所有槽函数都会被执行一个槽函数可以连接多个信号函数但凡其中一个信号被发射那么槽函数就会被执行一个信号函数也可以连接到另一个信号函数上表明当一个信号发射时后一个信号跟着被发射 信号函数与槽函数参数个数总结 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练习 完成登录框的按钮操作并在登录成功后进行界面跳转 .h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include QPushButton #include QLabel #include QLineEdit QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECT signals:void my_signal();void jump(); public:MainWindow(QWidget *parent nullptr);~MainWindow();private slots:void my_slot();void on_clicked(); private:Ui::MainWindow *ui;QPushButton *btn1;QPushButton *btn2;QLabel *lab1;QLineEdit * edit1;QLineEdit * edit2; }; #endif // MAINWINDOW_H/*********************************************************************/ //第二个界面 #ifndef FORM_H #define FORM_H#include QWidgetnamespace Ui { class Form; }class Form : public QWidget {Q_OBJECTpublic:explicit Form(QWidget *parent nullptr);~Form();public slots:void jump_slot();private:Ui::Form *ui; };#endif // FORM_H .cpp文件 #include mainwindow.h#include QPushButton #include QLabel #include QLineEdit #include cstring #include QDebug MainWindow::MainWindow(QWidget *parent): QMainWindow(parent){//设置窗口this-resize(540,410); //设置窗口大小this-setWindowTitle(奕书聊天室);//设置窗口标题this-setWindowIcon(QIcon(:/wodepeizhenshi.png));//设置登录按钮组件btn1 new QPushButton(QIcon(:/login.png),登录,this);//设置按钮组件的图标文本内容和让其在当前界面显示btn1-move(240,340); //设置按钮组件的位置btn1-resize(80,40); //设置按钮组件的大小// btn1-setEnabled(false); //设置按钮不可点击//连接登录按钮connect(btn1,QPushButton::clicked, this, MainWindow::my_slot);connect(btn1,QPushButton::clicked, this, MainWindow::on_clicked);//设置取消按钮组件btn2 new QPushButton(QIcon(:/cancel.png),取消,this);//设置按钮组件的图标文本内容和让其在当前界面显示btn2-move(340,340);btn2-resize(80,40);// btn2-setEnabled(false);//连接取消登录按钮connect(btn2,SIGNAL(pressed()),this,SLOT(close()));//设置LOGOlab1 new QLabel(this);lab1-setPixmap(QPixmap(:/logo.png));lab1-resize(540,180);lab1-setScaledContents(true);//设置行编辑器 账号edit1 new QLineEdit(this);edit1-resize(220,40);edit1-move(180,220);edit1-setPlaceholderText(QQ号码/手机/邮箱);//设置占位符//edit1-setEchoMode(QLineEdit::Password);//设置行编辑器 密码edit2 new QLineEdit(this);edit2-resize(220,40);edit2-move(180,280);edit2-setPlaceholderText(密码);//设置占位符edit2-setEchoMode(QLineEdit::Password);//设置密文显示//设置账号的LOGOQLabel *lab2 new QLabel(this);lab2-setPixmap(QPixmap(:/userName.jpg));lab2-resize(50,40);lab2-move(edit1-x()-85,edit1-y());lab2-setScaledContents(true); //设置图片内容自适应//设置账号的LOGOQLabel *lab3 new QLabel(this);lab3-setPixmap(QPixmap(:/passwd.jpg));lab3-resize(50,40);lab3-move(edit2-x()-85,edit2-y());lab3-setScaledContents(true); //设置图片内容自适应 } MainWindow::~MainWindow() {}void MainWindow::my_slot() {if(edit1-text()admin edit2-text()123456){qDebug()登录成功;this-close();}else{qDebug()登录失败;edit2-clear();} } void MainWindow::on_clicked() {emit jump(); }/********************************************************************/ //第二个界面 #include form.h #include ui_form.hForm::Form(QWidget *parent) :QWidget(parent),ui(new Ui::Form) {ui-setupUi(this); }Form::~Form() {delete ui; }void Form::jump_slot() {this-show(); } 面试小测 多态虚函数纯虚函数 类的三大属性多态封装继承多态也就是一种形式的多种状态多态又分为静态多态和动态多态函数重载时就属于静态多态而运行时属于动态多态多态又是父类的指针或者引用指向或初始化子类对象调用子类对父类重写的函数进而展开子类的功能 虚函数用virtual修饰的函数即为虚函数当类中存在虚函数那么该类中就会有一个虚指针虚指针指向虚函数表虚函数表中记录了所有虚函数以及子类对父类重写的函数。 纯虚函数当父类中的虚函数没有实际意义时可将该虚函数设置为纯虚函数含有纯虚函数的类被称为抽象类抽象类不能实例化对象当子类没有对父类的纯虚函数进行重新时子类也被称为抽象类。 将“引用”作为函数参数有哪些特点 函数参数是程序间数据交互的桥梁一般分为值传递和地址传递。值传递传递的是值不改变值原本的大小。地址传递传递的是地址当通过地址访问到其地址所指向的内容时其内容可以发生改变。引用的实质为取别名一旦确定指向不能更改。使用引用作为函数参数时不需要重新开辟空间效率高通过引用可直接改变其对应的内容。当引用不想被改变的变量时可使用const修饰此时为常引用常引用不能修改值的大小。 结构与联合的区别 结构体与联合体都是构造数据类型都是由相同或不同的数据类型构造而成。但是结构体每个成员地址连续结构体大小由每个成员的字节大小字节对齐原则决定。而联合体大小由其成员中字节最大的决定所有成员共用一片空间。
http://www.dnsts.com.cn/news/32027.html

相关文章:

  • 广州做网站找哪个公司好wap网站是什么
  • 婚礼婚庆网站建设需求分析奇迹建站模板
  • 网站建设的公php网站开发实训指导书
  • 做网站网站判刑丽水市建设局网站
  • html5 开发的网站怎么在百度建个网站
  • 阿里巴巴运营要学多久广州网站优化平台
  • 高清网站建设的好处杭州百度推广网站建设
  • 新型产品设计做网站推广优化哪家好
  • 国外网站开发技术现状镇江市住房与城乡建设部网站
  • 做的比较好的旅游网站湖北雨水最新消息
  • 淄博企业网站建设哪家好手机高端网站开发
  • 备案要关闭网站吗规范机关单位网站建设
  • 网站建设与网站设计哪个好学沼气服务网站建设管理
  • 做电子商务网站需要什么手续桂林建设银行招聘网站
  • 无锡网站建设培训学校泸州网站公司
  • 哪家公司建站的个人免费设计网站
  • 怎么诊断网站qt 网站开发
  • 国外最受欢迎的网站最简单的网站建设
  • 部队网站怎么做资源共享网站建设
  • 做植物提取物的专业网站潍坊市住房和城乡建设厅网站
  • 石家庄网站建设时光成品视频直播软件推荐哪个好一点非周马加
  • 哈尔滨网站备案商用营销型网站建设优化建站
  • 潜山网站建设梅州英文网站建设
  • 休闲农庄网站网站流量高iis如何做负载均衡
  • 网站按城市做分站百度网址大全设为主页
  • 免费oa管理系统网站SEO优化托管
  • 制作网页和做网站是一个意思吗微信小程序界面设计
  • 口子网站怎么做房地产公司网站开发
  • 赣州章贡区人口东莞seo网站排名优化公司
  • 上海医院设计网站建设邢台建设企业网站价格