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

室内设计网站模板百度招聘电话

室内设计网站模板,百度招聘电话,网站后台样式,东莞房价下跌1 第一天 (qt 的基础) 什么是qt hello程序,空窗口 添加按钮(对象树、父子关系) 按钮的功能(信号和槽) 信号和槽的拓展2 第二天 各个控件 最简单的记事本界面(菜单栏、状态栏、工具…

1 第一天 (qt 的基础)

什么是qt
hello程序,空窗口
添加按钮(对象树、父子关系)
按钮的功能(信号和槽)
信号和槽的拓展

2 第二天 各个控件

最简单的记事本界面(菜单栏、状态栏、工具栏)
使用ui和资源文件
创建对话框
各个控件以及布局

3 第三天 高级

捕捉鼠标(qt的事件,鼠标事件)
定时器事件
绘图事件、绘图设备
文件读写

4 第四天、第五天案例——翻金币的游戏

5 第一个hello程序,qt的项目结构

创建项目的时候 QWidget、QMainWindow、QDialog注释 QWidget 是所有能看到的窗口或者控件的父类,QMainWindow、QDialog 都继承自它main函数QApplication 就是Qt里边每个应用程序有且仅有一个的应用程序对象QApplication::exec()   程序的生命循环、消息循环 ,当作以下形式while(1)* {*      if(点击x按钮)*          break;*      if(点击了最小化按钮)*          最小化动作;*      ...* }Widget头文件:Q_OBJECT //宏,引入qt信号和槽的一个宏HelloWidget(QWidget *parent = 0);//parent窗口指针,父窗口对象的指针//如果parent为0或者NULL,表示当前窗口对象是个顶层窗口//顶层窗口就是在任务栏可以找到的窗口.pro文件QT       += core gui    # 引入qt的模块 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets   #如果qt版本号大于4,就引入widgets模块#指定目标,生成可执行程序的名字TARGET = 01_hello#模板,生成什么文件,app表示应用程序exe,lib 就是生成库TEMPLATE = appQt里边绝大部分的类都是继承自QObject ,QObject是一个顶层类

6 父子关系

默认情况下按钮没有认干爹的情况下,是个顶层窗口
想要按钮显示在窗口上,就要跟窗口构造父子关系
1 setParent 
2 构造函数传参

7 Qt坐标系

是以父窗口的左上角为0,0
以向右的方向为x的正方向
以向下的方向为y的正方向
顶层窗口就是以屏幕左上角为0,0

8 QT常用API函数

move 移动窗口到父窗口某个坐标
resize 重新设置窗口的大小
setFixedSize 设置窗口的固定大小
setWindowTitle 设置窗口标题
setGeometry 同时设置窗口位置和大小,相当于move和resize的结合体

9 对象树

概念:各个窗口对象通过建立父子关系构造的一个关系树
内存管理:父对象释放的时候会自动释放各个子对象(使用children列表)以后基本都是用new的方式来创建窗口对象
注意点:1 父对象能够被释放2 父对象、子对象,直接或者间接继承自QObject

10 信号和槽

按钮
被点击
窗口
关闭建立四者的关系(按钮 被点击 窗口 关闭)信号发送者
信号
信号接收者
槽:信号的处理动作
默认情况下,它们四者没有关系,通过connect 建立四者的关系conncet(信号发送者,信号,信号接收者,槽)信号和槽,本质都是函数connect里边4个参数都是指针
connect(btn,&QPushButton::clicked,this,&Widget::hide);使用connect的时候保留&符号
1 提高代码可读性
2 自动提示

11 自定义信号和槽

自定义信号1 函数声明在类头文件的signals 域下面2 void 类型的函数,没有返回值3 可以有参数,也可以重载4 只有声明,没有实现定义5 触发信号 emit obj->sign(参数...)自定义槽1 函数声明在类头文件的public/private/protected slots域下面(qt4以前的版本)qt5 就可以声明在类的任何位置,还可以是静态成员函数、全局函数、lambda表达式2 void 类型的函数,没有返回值3 可以有参数,也可以重载4 不仅有声明,还得有实现场景:下课了,老师说他饿了,学生就请吃饭信号发送者:老师信号:老师饿了信号接收者:学生槽:请吃饭
创多少个类:Teacher Student
信号: hungry 1个 Teacher
槽:treat 1个 Student 带参数的自定义信号和槽,就声明函数的时候就带上参数就行
老师说他饿了,说要吃黄焖鸡,学生就请吃黄焖鸡调用带参数的信号函数 emit pTeacher->hungry("黄焖鸡");参数二义性问题:1 使用函数指针赋值,让编译器自动挑选符合类型的函数2 使用static_cast 强制转换 ,让编译器自动挑选符合类型的函数

12 信号和槽的拓展

1 一个信号可以连接多个槽一个信号建立了多个connect那么当信号发射的时候,槽函数的调用顺序:随机
2 一个槽可以连接多个信号3 信号可以连接信号connect(第一个信号发送者,第一个信号,第二个信号发送者,第二个信号)4 信号可以断开连接,disconnectconnect 参数怎么填,disconnect就怎么填5 信号和槽的参数关系,必须同时满足以下两点1 信号和槽函数的参数类型必须对应2 信号和槽函数的参数个数不需要一致,信号函数参数个数>=槽函数参数个数hungry(QString)    ->       treat()         okhungry(QString)    ->       treat(int)         编译出错hungry(QString,int)    ->   treat(int)         编译出错

13 Qt4 的信号和槽

使用两个宏 SIGNAL   、 SLOT
connect使用不一样,信号和槽函数声明差不多connect(信号发送者,SIGNAL(函数原型) ,信号接收者,SLOT(函数原型))好处:没有重载二义性的问题
坏处:写错了,编译期间不报错SIGNAL和SLOT宏的原理,就是将后边的参数转成字符串      类似 #define toStr(arg)  #arg     -> "arg"推荐:以后都用qt5的    

14 QDebug

qdeubg输出QString默认会转义//解决方法两个
//1 将QString转成 char *
//qDebug()<<"Student treat teacher with "<<what.toUtf8().data();//2 使用qDebug().noquote()
qDebug().noquote()<<"Student treat teacher with "<<what;

15 lambda表达式

[capture](parameters) opt ->retType
{
……;
}[capture] 捕获外部局部变量的列表,值传递,直接填变量名 ,引用传递就使用&变量名使用= 值传递捕获所有局部变量使用& 应用传递捕获所有局部变量有特殊的捕获方式的变量在后边另外指定如果是值传递捕获进来的变量默认是const , 需要修改的话要使用 mutable选项
返回值类型可以省略,编译器自动计算返回值以后都推荐使用 [=](){} 的形式
http://www.hrbkazy.com/news/14586.html

相关文章:

  • 洛阳哪家网站做的好上海谷歌优化
  • 淘宝客 网站建设不完整今日广东头条新闻
  • 网上接单做效果图哪个网站好凡科建站怎么建网站
  • 百度免费网站建设seo网站排名全选
  • 阿里网站怎么建设什么叫关键词
  • 做物流网站模块我对网络营销的理解
  • 如何给自己的网站做seo360排名优化工具
  • 阿里云用ip做网站网站建设公司大型
  • 手机做兼职的网站有哪些今日军事新闻
  • 湘潭做网站问下磐石网络友情链接举例
  • 热门推广平台广东宣布即时优化调整
  • 资料共享的网站开发滨州网站建设
  • 合肥的网站建设网络营销试卷及答案
  • 做网站都需要自己的服务器吗网站推广怎么弄
  • 三否网站2023年10月疫情恢复
  • 哪家做网站好的软文营销ppt
  • 南通城乡建设局网站首页小学培训机构
  • 传奇类网游seo课程排行榜
  • 网站制作做网站磁力蜘蛛
  • 网站建设云平台外贸建站推广哪家好
  • 免费网站自己做百度seo点击排名优化
  • 手机网站建设在哪儿seo搜索推广
  • 婚庆公司网站设计建立网站用什么软件
  • ctcms做的比较好的网站竞价服务托管价格
  • 网上做夫妻的网站制作网页模板
  • 做网站找浩森宇特生哥seo博客
  • 网站提示域名解析错误怎么办seo查询排名系统
  • 网站建设合同标的怎么写百度竞价推广屏蔽软件
  • 旅游网站前端建设毕业论文网络推广工具
  • 做网站是什么鬼百度seo快速排名