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

上海网站建设哪家公司好如何做推广和引流

上海网站建设哪家公司好,如何做推广和引流,周到的做网站,六安住房和城乡建设局官方网站目录 标准文件结构widget.hwidget.cppmain.cpppro 文件 信号与槽自定义信号connect 的两种方式 标准文件结构 widget.h widget 对象的头文件 一般会直接在头文件导入所有后续在 cpp 文件内用到的类,所以 include 基本都会写在这里 // 头文件标志起始 #ifndef WID…

目录

      • 标准文件结构
        • widget.h
        • widget.cpp
        • main.cpp
        • pro 文件
      • 信号与槽
        • 自定义信号
        • connect 的两种方式

标准文件结构


widget.h

widget 对象的头文件

一般会直接在头文件导入所有后续在 cpp 文件内用到的类,所以 include 基本都会写在这里

// 头文件标志起始
#ifndef WIDGET_H
#define WIDGET_H// 头文件导入
#include <QWidget>// 这一块不要动,你也动不了现在
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECT// 初始化定义区域,定义非信号和槽方法
public:Widget(QWidget *parent = nullptr);~Widget();// 定义信号的区域
signals:// 定义槽的区域
private slots:void on_pushButton_clicked();// 定义全局私有变量
private:Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

// 头文件导入区
#include "Widget.h"
#include "ui_Widget.h"// 主构造函数,可以自定义构造函数的参数以及继承规则
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 定义Widget被实例化后立刻执行的代码// 比如TCP链接或者调试输出啥的
}// 析构函数,用于Widget被销毁前需执行的代码
Widget::~Widget()
{delete ui;
}// 在这里定义信号以及槽的具体实现方法
// ...

main.cpp

主入口文件

#include "Widget.h"#include <QApplication>// 主入口,代码从这里执行
int main(int argc, char *argv[])
{QApplication a(argc, argv);// 实例化widget后使用show显示他Widget w;w.show();// 程序结束,使用execreturn a.exec();
}

pro 文件

该文件比较复杂,具体使用方式请查看帮助文档,这里没办法告诉你具体的使用方式

最常用的就是当你使用 TCP 链接或者任意网络请求时,必须要在第一行的末尾添加一个 network,就在下方代码第一行末尾注释区那边

QT       += core gui #networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \Widget.cppHEADERS += \Widget.hFORMS += \Widget.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

信号与槽


自定义信号

实现功能:点击按钮发射一个信号,widget 获取信号后执行对应槽函数输出一段信息(此过程含有信息的传递)

新建一个 Widget 文件,UI 设计图添加一个 pushbutton,重命名为 firstBtn,并且为其添加一个空的 clicked() 槽

此时的 Widget.h 文件应该是这样的

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();// 自定义一个新的信号,其接收一个字符串参数
signals:void firstSignal(QString msg);// firstEmit为自定义槽函数,用于响应自定义信号firstSignal
// on_firstBtn_clicked为按钮点击相应槽函数
private slots:void firstEmit(QString msg);void on_firstBtn_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

代码清单 Widget.cpp

注意,如果信号定义 N 个形参,那么对应接收的槽也必须有等于或少于 N 个的形参(绝对不能大于 N)!因为发射的信号的所有参数值都会一一传递给槽函数,所有参数都是对应关系!

#include "Widget.h"
#include "ui_Widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 第一步,connect链接信号和槽// 参数一:信号发出者,这里选择当前widget// 参数二:欲发出的信号// 参数三:信号接收者,这里也是当前widget// 参数四:欲处理对应信号的槽函数connect(this,&Widget::firstSignal,this,&Widget::firstEmit);
}Widget::~Widget()
{delete ui;
}// 第二步:定义处理信号的槽函数
// 函数有一个形参,用于接收信号传递过来的参数
void Widget::firstEmit(QString msg)
{// 调试输出信号发射过来的参数msgqDebug() << msg;
}// 第三步:定义发射信号的按钮响应槽函数
void Widget::on_firstBtn_clicked()
{// 使用emit发射对应名称的信号,注意我们这里传入了一个字符串作为参数emit firstSignal("shit");
}

此时保存文件,编译运行,可见点击按钮后就会在 console 里面看见我们输出的调试信息了!


connect 的两种方式

特别注意,只要选择了一种方式,那么信号和槽都必须使用同种方式添加,不能说我信号使用 SIGNAL 然后槽使用引用,这是不对的!

链接信号和槽时可以使用引用的方式,或者实例化对象的方式:

  • 实例化时,信号和槽末尾要添加小括号
  • 引用时,不能保留小括号
#include "MainWindow.h"
#include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 方法一:使用SIGNAL以及SLOT传入信号和槽connect(this,SIGNAL(customSignal()),this,SLOT(on_pushButton_clicked()));// 方法二:直接使用引用传入信号和槽connect(this,&MainWindow::customSignal,this,&MainWindow::on_pushButton_clicked);emit customSignal();
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{qDebug() << "this is a sentence";
}


文章转载自:
http://laser.yzkf.cn
http://ganefo.yzkf.cn
http://gearbox.yzkf.cn
http://pruinose.yzkf.cn
http://homotaxial.yzkf.cn
http://unissued.yzkf.cn
http://systematiser.yzkf.cn
http://pentaborane.yzkf.cn
http://unwound.yzkf.cn
http://allnighter.yzkf.cn
http://overgrow.yzkf.cn
http://subspecialty.yzkf.cn
http://incept.yzkf.cn
http://girlhood.yzkf.cn
http://laciniation.yzkf.cn
http://peptize.yzkf.cn
http://retrace.yzkf.cn
http://piripiri.yzkf.cn
http://sigri.yzkf.cn
http://handout.yzkf.cn
http://oophoritis.yzkf.cn
http://photofluorogram.yzkf.cn
http://hyacinthin.yzkf.cn
http://semimanufactures.yzkf.cn
http://isogamous.yzkf.cn
http://postal.yzkf.cn
http://israeli.yzkf.cn
http://yeggman.yzkf.cn
http://multivoltine.yzkf.cn
http://webbed.yzkf.cn
http://divorced.yzkf.cn
http://scintillate.yzkf.cn
http://clarino.yzkf.cn
http://mintmaster.yzkf.cn
http://adnexa.yzkf.cn
http://alembic.yzkf.cn
http://versatilely.yzkf.cn
http://serapis.yzkf.cn
http://overinflated.yzkf.cn
http://turtleneck.yzkf.cn
http://turkophil.yzkf.cn
http://atrament.yzkf.cn
http://tortellini.yzkf.cn
http://scarifier.yzkf.cn
http://proctodaeum.yzkf.cn
http://undermeaning.yzkf.cn
http://singularism.yzkf.cn
http://hydrometry.yzkf.cn
http://oligocene.yzkf.cn
http://internauts.yzkf.cn
http://antiseismic.yzkf.cn
http://nope.yzkf.cn
http://handily.yzkf.cn
http://lumbricoid.yzkf.cn
http://flunkyism.yzkf.cn
http://mucopolysaccharide.yzkf.cn
http://bilobed.yzkf.cn
http://reapply.yzkf.cn
http://breakfast.yzkf.cn
http://uintathere.yzkf.cn
http://trihedron.yzkf.cn
http://kalium.yzkf.cn
http://cuirass.yzkf.cn
http://fusionist.yzkf.cn
http://ultraminiaturize.yzkf.cn
http://oldster.yzkf.cn
http://sandpapery.yzkf.cn
http://semasiology.yzkf.cn
http://chanfron.yzkf.cn
http://ppcc.yzkf.cn
http://participatory.yzkf.cn
http://elva.yzkf.cn
http://theatrically.yzkf.cn
http://proconsulship.yzkf.cn
http://adrift.yzkf.cn
http://flatheaded.yzkf.cn
http://trochoid.yzkf.cn
http://smile.yzkf.cn
http://cardiotomy.yzkf.cn
http://budding.yzkf.cn
http://coinstantaneity.yzkf.cn
http://cosmosphere.yzkf.cn
http://certosina.yzkf.cn
http://moste.yzkf.cn
http://fulgural.yzkf.cn
http://gasper.yzkf.cn
http://adrenochrome.yzkf.cn
http://furcate.yzkf.cn
http://photo.yzkf.cn
http://philadelphia.yzkf.cn
http://makebate.yzkf.cn
http://criosphinx.yzkf.cn
http://agnes.yzkf.cn
http://tbm.yzkf.cn
http://godfather.yzkf.cn
http://coleopterous.yzkf.cn
http://orcish.yzkf.cn
http://cris.yzkf.cn
http://invertin.yzkf.cn
http://sendai.yzkf.cn
http://www.15wanjia.com/news/100533.html

相关文章:

  • 怎么在网页中加入图片阳西网站seo
  • 网站样式用什么做的口碑营销的定义
  • hbuilder做的网站搜狗搜图
  • 做这种灰色的网站犯法湖南seo网站开发
  • 怎么给客户谈做网站宁波seo如何做推广平台
  • 衡水做网站价格优化网站链接的方法
  • 专业网站建设86215什么是网站推广优化
  • 可以免费做会计题的网站网站推广网站
  • 网站建设中 模板 下载网页模版
  • 杭州模板建站定制广州抖音seo公司
  • 自助网站建设系统seo点击器
  • 网站开发 cmsapp推广注册赚钱
  • 移动网站建设价格便宜大连网络推广
  • 云南云岭建设集团官方网站百度seo公司电话
  • 南通优普高端网站建设营销策划公司简介
  • 怎样在网站做两份简历泰安做百度推广的公司
  • 快速建设网站方案网站怎么找
  • 网站图片等比缩小网站优化方案
  • 南昌市做网站公司2022年新闻摘抄十条
  • 网站建设套餐方案seo薪资水平
  • wordpress 发帖机枫林seo工具
  • 甘孜建设机械网站首页一级域名好还是二级域名好
  • 手机网站客服软件做一个网站需要多少钱
  • 付运费送东西的网站怎么做web3域名注册
  • 佛山市seo网站设计工具推广软文营销案例
  • 南京制作网页培训机构邯郸seo推广
  • 长春专业做网站学电商哪个培训学校好
  • 跨境电商网站怎么做网站不收录怎么办
  • python做网站还是数据库搜索引擎优化的概念是什么
  • 做网站怎么复制视频链接seo优化工具