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

手机 网站 系统网站的支付系统怎么做的

手机 网站 系统,网站的支付系统怎么做的,黄骅网站建设价格,建设网站运营收入文章目录一、C指针函数驼峰命名法、下划线命名法编程报错二、C三、Qt语法Qt历史、Qt应用Qt特色快捷键Qt类的族谱QWidgetQPushButtonQDebug对象树Qt窗口坐标信号和槽Qt自带的信号的槽自定义的信号和槽Qt4版本 vs Qt5版本 的connect写法函数指针解决重载问题拓展类型转换QString … 文章目录一、C指针函数驼峰命名法、下划线命名法编程报错二、C三、Qt语法Qt历史、Qt应用Qt特色快捷键Qt类的族谱QWidgetQPushButtonQDebug对象树Qt窗口坐标信号和槽Qt自带的信号的槽自定义的信号和槽Qt4版本 vs Qt5版本 的connect写法函数指针解决重载问题拓展类型转换QString 转 char *int 转 QString总结QMainWindow菜单栏 QMenu工具栏 QToolBarLambda表达式QDialog堆、栈 对象QMessageBoxQColorDialog 颜色对话框QFileDialog 文件对话框QFontDialog 字体对话框UI界面设计 Layout 登录窗口设计、8类 56个控件资源文件的添加Layouts 布局Spacers 间隔器Buttons 按钮组1.PushButton2.ToolButton3.RadioButton 单选按钮4.CheckBox 多选按钮Containers 容器组1.Widget2.GroupBox 分组3.Scroll Area4.ToolBox4.TabWidgetItem Widgets1.List Widget2.Tree Widget3.Table Widget4.Stacked Widget 栈控件5.Dock WidgetInput Widgets1.Combo Box 下拉框2.Line Edit 单行文本3.Text Edit 多行文本 (可加粗下划线颜色)4.Plain Text Edit 多行纯文本5.Spin Box6.Double Spin Box11.Horizontal Scroll Bar 水平滑动条12.Vertical Scroll Bar 垂直滑动条13.Horizontal Slider 水平滑动块14.Vertical Slider 垂直滑动块Display Widgets1.Label 标签 文字、图片、动图QLabel显示文字QLabel显示图片QLabel显示动图QFrame设置边框由NoFrame改为Box2.Progress Bar 进度条窗口自定义封装控件 custom controlQt事件   QEvent鼠标事件   QMouseEventQt中的格式化字符串定时器事件   timerEvent第一种方式第二种方式(推荐)事件分发器 event屏幕放大与缩小一、C 指针 指针指针广义上来说就是一个地址。 指针变量指针变量就是存放地址的变量。 指针变量的定义 int *p //定义了一个指向整型变量的指针变量p 指针变量初始化 int a20//定义了一个整型变量a20 int *p 20//指针变量p存放的就是20这个元素的地址。 为取地址符 2基本运算含义 指针变量的引用 指针变量指的就是存放地址的变量那对指针变量的引用主要涉及到两个方面 (1)对指针变量本身的引用就是说对指针变量进行的各种运算 (2)对指针变量所指向的目标对指针进行引用。 通俗的说上述两种情况一种是对地址的运算一种是对地址所指向的变量进行间接引用。 3基本操作符 跟指针相关的操作符主要有3个、*、[] (1)取地址运算符 (2)*指针运算符-----取指针所指向的运算符。即取指针变量地址所指向的变量值。 (3)[]下标操作符-----取指针所指向的操作符。即取指针变量地址所指向的变量值一般在数组运算中使用的比较多。 函数 返回类型 函数名(参数列表): 初始化列表 {函数体;return 返回值; }驼峰命名法、下划线命名法 驼峰命名法逻辑断点用大写字母 printEmployeePaychecks()下划线命名法逻辑断点用下划线小写 print_employee_paychecks()编程报错 出现一个小错误时进行编译可能会报十几个错误但只因为一个小错误。比如 当写下伪代码if(鼠标左键按下)而进行编译时报了18个错误。但提示都是27行。一个小错误也会导致多个报错。 同理一个已定义但未使用的变量也可能引发多个warning 所以不要纠结于报错的数量而应该把关注点放在bug本身在哪里定位bug解决bug。 二、C 1.对象用 .来调用类的成员函数指针用→来调用类的成员函数 2.构造与析构顺序相反先构造的最后析构后构造的先析构。但是打印时会先执行析构里的打印最后析构。 看起来会有一些矛盾实际上打印出来时并没有完成析构父类的析构函数里的cout/qDebug()打印后会继续寻找其儿子的析构函数其儿子也是如此直至找到最后一个子类才进行析构。然后向上递归析构。打印时却是在向下递归时已经打印出来然而并没有被析构。 3.函数重载函数名相同()内的参数列表不同 4.指针指针-地址 函数指针函数指针-函数地址 函数指针定义方式: 函数返回类型::(*指针变量名)(函数参数列表)5.关键字 ①static使局部变量变为全局变量 三、Qt语法 Qt历史、Qt应用 (一)Qt历史 1.Qt由奇趣科技公司开发 2.2008年诺基亚从奇趣科技公司收购Qt并增加LGPL的授权模式 3.2011年芬兰的Digia从Nokia收购了Qt的商业版权从此Nokia负责Qt on MobileQt Commercial由Digia负责。 Qt开发的最高峰是在诺基亚智能手机。 (二)Qt开发的软件 1.WPS 2.金山词霸 3.virtualboxoracel的虚拟机 Qt特色 1.信号和槽 2.对象树自动释放子对象 快捷键 注释crtl / 自动对齐crtl i 选中一整行点击行号数字 整行移动crtl shift ↑/↓ 同名之间的.cpp和.h切换F4 运行crtl r 编译crtl b 帮助文档选中后F1 关闭当前窗口alt F4 保存crtl s 全选crtl a 撤销上一步crtl z Qt类的族谱 QObject/ | \QWidget QMainWinodw QDialog/ \QAbstractButton QToolBar/ | \ \ QPushButton-QToolButton-QRadioButton-QCheckBox QWidget Widget是控件 QPushButton ①创建按钮QPushButton *btn new QPushButton; ②设置父亲btn-setParent(this); ③设置文本btn-setText(“文字”); //隐式类型转换char * 自动转为 QString ④设置位置btn-move(宽高); 创建按钮方式2QPushButton *btn new QPushButton(按钮名字this); 相当于合并①②③ 重新指定窗口大小resize(width,height); 设置固定大小setFixedSize(w,h); 设置窗口标题setWindowTitle(“窗口名”); QPushButton无边框flat QDebug 头文件#include QDebug 语法qDebug()要输出的内容; 对象树 当创建的对象在堆区的时候如果指定的父亲是QObject或QObject的派生类则可以不用管内存释放的操作其new出来的对象会放到对象树中。一定程度上简化了内存回收机制。 在Qt中尽量在构造时就指定parent对象并且大胆地在堆上创建。只要指定了父亲setParent(this)就可以大胆的在堆区创建对象。对象树会为我们回收对象所占有的内存。 析构的顺序和构造的顺序相反 Qt窗口坐标 以左上角为坐标原点(0,0)X向右增加Y向下增加。 信号和槽 Qt自带的信号的槽 连接函数connect 信号signal 槽slot 触发emit connect(参数1 信号的发送者参数2 发送的信号函数[函数的地址]参数3 信号的接收者参数4 处理信号的槽函数[函数的地址]) connect(myBtn,MyPushButton::clicked,this,myWidget::close); //该类的信号和槽 connect(myBtn,QPushButton::clicked,this,QWidget::close); //该类的父类[仅Qt自带的信号和槽]信号和槽的优点松散耦合信号发送端 和 接收端 本身是没有关联的通过connect连接将两端耦合在一起 自定义的信号和槽 1.自定义信号 ①信号 写到头文件的signal下 ②返回 void ③需要声明不需要实现 ④可以有参数可以重载 2.自定义槽函数 ①槽 写到头文件的 public slots 或 public 或 全局下 ②返回 void ③需要声明也需要实现 ④可以有函数可以重载 connect(btn,QPushButton::clicked,this,QWidget::classIsOver);void Widget::classIsOver() {emit zc-hungry(); //emit触发 }Qt4版本 vs Qt5版本 的connect写法 Qt4版本SIGNAL、SLOT宏 connect(teacher,SIGNAL(hungry()),student,SLOT(treat()));Qt5版本取函数地址类名::成员函数名 connect(teacher,Teacher::hungry,student,Student::treat); 函数指针解决重载问题 指针-地址 函数指针-函数地址 void (Teacher::* teacherSignal)(QString) Teacher::hungry; //函数指针 void (Student::*studentSlot)(QString) Student::treat; //函数指针 connect(zc,teacherSignal,st,studentSlot);拓展 1.信号连接信号 可以将槽函数的位置换为signal2 这样signal1连接signal2signal2连接slot 2.一个信号可以连接多个槽函数 3.多个信号可以连接同一个槽函数 4.信号和槽函数的参数必须类型一一对应 5.信号的参数个数 ≥ 槽函数的参数个数 6.断开信号: disconnect disconnect(参数照抄要断开的connect) 类型转换 QString 转 char * 先将QString转为QByteArray .toUtf8()再将QByteArray转为char * .data() QString foodName foodName.toUtf8().data();int 转 QString QString::number(int)总结 QMainWindow 菜单栏 QMenu 1.菜单栏最多有一个 2.创建菜单栏QMenu *bar MenuBar(); 3.将菜单栏放入窗口setMenuBar(bar) 4.创建菜单QMenu *fileMenu bar-addMenu(文件); 5.创建菜单下拉项fileMenu-addAction(新建) 工具栏 QToolBar 1.新建菜单项QToolBar *toolbar new QToolBar(this); 2.添加菜单项addToolBar(toolBar); Lambda表达式 1.Lambda 表达式lambda expression是一个匿名函数。[]是标识符用[]开头说明是Lambda表达式 最常用[](){} 2.[](){}; 值传递[](){ 内容 }();   //后面加小括号才算是调用Lambda表达式 引用传递[](){ 内容 }(); 3.mutable关键字用于修饰值传递的变量修改的是拷贝而不是本体 [m]() mutable { m10010; qDebug()m }();4.返回值 int ret []()-int{return 1000;}(); qDebug() ret ret;QDialog 模态对话框(阻塞对话框)不可以对其他窗口进行操作 dlg.exec(); 非模态对话框可以对其他窗口进行操作 dlg-show(); 堆、栈 对象 栈对象函数结束时自动回收栈对象 QDialog dlg(this); dlg.show();堆对象开辟一块堆空间函数结束不会回收堆空间需要手动释放对象 QDialog *dlg new QDialog(this); dlg-show();QMessageBox 1.critical QMessageBox::critical(this,critical,错误);2.information QMessageBox::information(this,info,信息);3.quesiton //参数1 父亲 参数2:标题 参数3:显示内容 参数4:按键类型 参数5:默认关联回车按键(question按钮) QMessageBox::question(this,question,提问,QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel);用if else捕获用户的选项 connect(ui-actionquestion,QAction::triggered,[](){//参数1:父亲 参数2:标题 参数3:提示内容 参数4:按键类型 参数5:默认关联回车按键if(QMessageBox::Save QMessageBox::question(this,question,提问,QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel))qDebug()Save;//用if else捕获用户的选择然后做出对应的判断【返回值也是StandButton类型利用返回值判断用户的输入】elseqDebug()Cancel; });4.warning connect(ui-actionwarning,QAction::triggered,[](){QMessageBox::warning(this,warning,警告,QMessageBox::Yes); });QColorDialog 颜色对话框 QColor color QColorDialog::getColor(QColor(0,0,255));QFileDialog 文件对话框 //参数1:父亲 参数2:标题 参数3:默认文件路径 参数4:过滤文件格式QFileDialog::getOpenFileName(this,打开文件,C:\\Users\\DELL\\Desktop);QFontDialog 字体对话框 QFont font QFontDialog::getFont(flag,QFont(华文彩云,36));UI界面设计 Layout 登录窗口设计、8类 56个控件 资源文件的添加 1.在Explorer中显示将图片文件夹复制到.pro同级目录下 2.右键项目 - Add New File - Qt Resoure File - 起名 res 3.Add Prefix改名为 / 4.Add Files将所有图片选中添加 5.Build Layouts 布局 1.Horizontal Layout 水平布局 2.Vertical Layout 垂直布局 3.Grid Layout 栅格布局几行几列的控件 4.打破布局 Spacers 间隔器 1.Horizontal Spacer 水平间隔器水平弹簧 2.Vertical Layout 垂直间隔器垂直弹簧 Buttons 按钮组 1.PushButton 实现每次点击按钮效果都不同。请问connect如何设计? 2.ToolButton ToolButton用于设置图片 1.隐藏按钮边框 ①用UI实现ui界面 - ToolButton - 属性autoRaise ②用代码实现autoRaise自动激活 QToolButton *button new QToolButton(); button-setAutoRaise(true);2.ToolButton同时显示图片和文字 属性 - QToolButton - toolButtonStyle - ToolButtonTextBesideIcon 显示图片一般是用ToolButton去显示 3.RadioButton 单选按钮 1.默认选中 ui-rBtn-setChecked(true);4.CheckBox 多选按钮 state0是未选中1是半选(tristate)2是选中 //多选按钮 未选中是0选中是2半选是1 connect(ui-cBox4,QCheckBox::stateChanged,[](int state){qDebug()state:state; });Containers 容器组 1.Widget 1.Display Widgets - Label 2.Input Widgets - LineEdit ①属性- QLineEdit - echoMode 由Normal改为 Password 3.Buttons - Push Button 4.Containers - Widget要一个控件一个控件地拖入。然后点水平布局或垂直布局 ①Widget属性中sizePolicy的垂直策略由Preferred改为Fixed 5.Spacers - Horizontal Spacer 水平间隔器(水平弹簧)用于限制控件的位置 ①如果要弹簧长度固定的话在弹簧属性里将 sizeType由Expanding改为Fixed ②sizeHint调整宽、高 ③间隙调整属性Layout里将上下左右间隙都改为0 6.添加图片 属性 - QAbstractButton - icon - 选择资源 2.GroupBox 分组 containers - GroupBox 3.Scroll Area 4.ToolBox 制作QQ联系列表 4.TabWidget 制作网页标签 Item Widgets 1.List Widget 1.QListWidget 列表容器 2.调用方法 ui-listWidget-addItem(item);3.设置居中方式 item-setTextAlignment(Qt::AlignHCenter);4.可以利用additems一次性添加整个诗的内容 2.Tree Widget 1.设置头 ui-treeWidget-setHeaderLabels(QStringList()英雄英雄介绍);2.创建根节点 QTreeWidgetItem *powerItem new QTreeWidgetItem(QStringList()力量); ui-treeWidget-addTopLevelItem(powerItem);3.追加子节点 QStringList heropI1; heropI1 刚被猪 前排坦克能在吸收伤害的同时造成可观的范围伤害; QTreeWidgetItem *powerItem1 new QTreeWidgetItem(QStringList(heropI1)); powerItem-addChild(powerItem1);//追加子节点3.Table Widget 1.设置列数setColumnCount ui-tableWidget-setColumnCount(3);2.设置水平头部标签setHorizontalHeaderLabels ui-tableWidget-setHorizontalHeaderLabels(QStringList()姓名性别年龄);3.设置行数setRowCount ui-tableWidget-setRowCount(5);4.设置正文setItem ui-tableWidget-setItem(0,0,new QTableWidgetItem(刘备));4.Stacked Widget 栈控件 栈控件容器内部可存放多个控件。然后设置PushButton用connect连接 5.Dock Widget 浮动窗口 Input Widgets 1.Combo Box 下拉框 ui-comboBox-addItem(奔驰);2.Line Edit 单行文本 echoMode由Normal改为Password可以输密码时改成暗文 3.Text Edit 多行文本 (可加粗下划线颜色) 4.Plain Text Edit 多行纯文本 5.Spin Box 数值器 6.Double Spin Box 双精度数值器可显示小数点后2位 7.Time Edit 8.Date Edit 9.Date/Time Edit 10.Dial 刻度盘指示器 11.Horizontal Scroll Bar 水平滑动条 12.Vertical Scroll Bar 垂直滑动条 13.Horizontal Slider 水平滑动块 14.Vertical Slider 垂直滑动块 Display Widgets 1.Label 标签 文字、图片、动图 QLabel可以显示①文字 ②图片(.png) ③动图(.gif) QLabel显示文字 参数1:字体   参数2:大小   参数3:权重 QFont font ( “Microsoft YaHei”, 10, 75); //微软雅黑字体大小10加粗 ui-label-setFont(font);常见权重 QFont::Light - 25 高亮 QFont::Normal - 50 正常 QFont::DemiBold - 63 半粗体 QFont::Bold - 75 粗体 QFont::Black - 87 黑体 QLabel显示图片 ui-lbl_image-setPixmap(QPixmap(:/images/select.png)); //Pixmap 象图映射ui-lbl_image-setScaledContents(true); //设置图片全填充QLabel显示动图 //利用QLabel显示图片 ui-lbl_image-setPixmap(QPixmap(:/images/select.png)); //利用QLabel显示动图 QMovie *movie new QMovie(:/images/mario.gif); ui-lbl_movie-setMovie(movie); //播放动图 movie-start();QFrame设置边框由NoFrame改为Box 2.Progress Bar 进度条 窗口 1.改窗口标题属性 windowTitle 2.固定窗口大小属性 geometry设为一个值再将 minimumSize和maximumSize也设为一样的值 自定义封装控件 custom control 1.添加新文件 - Qt - 设计师界面类 2.custom control.ui中组合 3.widget.ui中拖拽一个Widget点击提升为类名与控件类名相同。两边的父类必须相同。添加提升 4.实现功能改变数字滑动条跟着移动信号槽监听 5.提供getNum 和 setNum 对外接口 6.测试接口 Qt事件   QEvent 鼠标事件   QMouseEvent 1.进入事件 enterEvent void QWidget::enterEvent(QEvent *event)2.离开事件 leaveEvent void QWidget::leaveEvent(QEvent *event)3.鼠标移动事件 virtual void mouseMoveEvent(QMouseEvent *ev) //可重写4.鼠标按压事件 virtual void mousePressEvent(QMouseEvent *ev) //可重写5.鼠标释放事件 virtual void mouseReleaseEvent(QMouseEvent *ev) //可重写6.设置鼠标跟踪状态:默认是false只有鼠标按下时才开启。这会影响 鼠标移动 的效果 setMouseTracking(true);7.坐标 ex-x() ex-y() ex-globalX() ex-globalY() 8.判断鼠标左键、中键、右键、联合按键(移动move时) //左键 if(ev-button() Qt::LeftButton) //右键 if(ev-button() Qt::RightButton) //move if(ev-buttons() Qt::LeftButton )Qt中的格式化字符串 “%1 %2” arg().arg(); #include QMouseEvent QString str QString(鼠标按下了 x %1 y %2).arg(ev-x()).arg(ev-y()); qDebug()str;定时器事件   timerEvent 第一种方式 1.头文件中重写定时器事件 void timerEvent(QTimerEvent *ev);2.启动定时器 startTimer(1000); //间隔 ms3.timerId() 第二种方式(推荐) QTimer类启动定时器的第二种方式比较推荐这种方式逻辑清晰 //定时器第二种方式 //1.创建定时器对象 QTimer *timer new QTimer(this); //2.启动定时器 timer-start(500); connect(timer,QTimer::timeout,[](){static int num3 1;//lbl_timer2 每隔 2秒 1ui-lbl_timer3-setText(QString::number(num3)); });//3.点击暂停实现暂停定时器 connect(ui-btn_stop,QPushButton::clicked,[](){timer-stop(); }); //点击启动实现重启定时器 connect(ui-btn_start,QPushButton::clicked,[](){timer-start(500); });事件分发器 event 为true则用户自己处理不向下分发。 屏幕放大与缩小 showMaximized() // Qt最大化显示函数 showMinimized() // Qt最小化显示函数 resize(x, y) // Qt固定尺寸显示函数 QRect(int x,int y,int width,int height)
http://www.w-s-a.com/news/453347/

相关文章:

  • 网站建设工作室wp主题模板做污事网站
  • 网站建设 深圳 凡科重庆家居网站制作公司
  • 自己也可以免费轻松创建一个网站企业收录网站有什么用
  • 帮别人做网站违法导航网站开发工具
  • seo网站外包公司字画价格网站建设方案
  • 网站国内空间价格销售技巧
  • 广安建设企业网站qq互联网站备案号
  • 京东网站建设的要求vs2010做的网站
  • wordpress 新闻杂志主题佛山企业网站排名优化
  • 选服务好的网站建设金华市开发区人才网
  • 广州建站商城南阳高质量建设大城市网站
  • 网站建设合同封面模板做代炼的网站
  • 外贸网站建站要多少钱南昌优化排名推广
  • 做公司网站的尺寸一般是多大企业管理网站
  • 苏州网站设计公司兴田德润i简介做签证宾馆订单用啥网站
  • 网站页面设计工具做网站租空间
  • 做智能网站系统百度提交入口
  • 网站建设代理商电话网站规划和建设方案
  • 双桥区网站制作seo 首页
  • 电子商务网站建设前期准备wordpress域名指向二级目录
  • 汕头建站网站模板淮北做网站电话
  • 手机做logo用什么网站服务器安全防护
  • 课程分销的网站怎么做北京企业网站建设方案
  • 吴兴区建设局网站湖北企业网站建设
  • 网页与网站的区别是什么2023年8月份新冠
  • 唐山网站建设外包公司安卓手机怎么搭建网页
  • 国内做网站最大的公司计量检测网站平台建设方案
  • 重庆沛宣网站建设网页制作初学者
  • php网站漂浮广告代码网络营销跟网站推广有啥区别
  • wordpress调用图片优化型网站建设的基本要求