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

济南网站建设公司wordpress地址跟站点

济南网站建设公司,wordpress地址跟站点,蒙阴哪有做淘宝网站的,百度指数官网入口登录文章目录一、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.dnsts.com.cn/news/154341.html

相关文章:

  • 网站上线步骤 icp备案可以做网站的域名后缀
  • php网站设计人员wordpress引用文件
  • 国外购物网站appwordpress悬浮客户
  • 宁波seo站外优化推广什么叫网络推广
  • 房建设计图网站华强北做电子网站建设
  • 自己在家开网站做推广国外永久免费云服务器
  • 昆山外贸公司网站建设流程网站使用标题做路径
  • 网络课程网站模板免费的建站软件推荐下载
  • 做网站的框架哪些网站做的不好用
  • 免费建站的手机app如何做关于橱柜网站
  • 制作网站代码吗西安网站制作流程
  • 专业版式设计网站直接打开
  • pv3d 优秀网站怎么做国际购物网站
  • 丽水网站开发开锁行业在58做网站有活吗
  • 网站建设收费标准平台有哪些做分析图用的网站
  • 做电影网站模板教学设计合益环保东莞网站建设
  • 网站前期准备工作手机wap网站定位
  • 无锡市梁溪区建设局网站wordpress精仿卢松松
  • 商贸网站源码精准客户运营推广
  • 做ppt封面的网站图片海报制作软件
  • php网站后台制作网站服务器租
  • 网站开发项目流程中国建设银行官网电话
  • 网站开发中 即将上线asp.net网站建设项目实战资料
  • 怎样上网站建设百度seo整站优化公司
  • 物流管理网站怎么做wordpress做静态网页
  • 网站搭建设计方案一起做网店17潮汕
  • 雄安投资建设集团有限公司网站寄生虫做网站流量
  • 做网站维护需要学什么网站域名注册空间
  • 怎么做移动端网站网站原型设计流程
  • 网站设计教程网站程序天下:lamp网站开发黄金组合 pdf