自学QT,点滴记录
来源:互联网 发布:cad排料软件 编辑:程序博客网 时间:2024/05/28 05:19
总览:最近给自己制定了一个半年的提升计划,第一步就是自学Qt,教材使用的是霍亚飞的《Qt Creator 快速入门》,本文记录自己每天的学习收获、难点存疑以及客服的困难,也算是自己的一个学习笔记,学到哪里记到哪里,想到哪里写到哪里。希望能和大家共同探讨,共同进步。这是本人第一次写博客,无论在内容上还是在格式上,还请大神们多多指教。
由于之前断断续续的学过一点Qt,因此,所用教材中的第一第二章直接跳过,从第三章 窗口部件开始学起。
2017.11.6
今日主要学习窗口部件,主要知识点:
Qt中的所有的窗口部件都继承自QWidget类,而这个类继承自QObject和QPaintDevice,其中,QObject类是所有支持Qt对象模型的对象的基类,QPaintDevice类是所有可绘制的对象的基类。
Qt中把没有嵌入到其他部件中的部件称之为窗口。
窗口的类型:在构造窗口部件时在第二个参数中指定,默认值是Qt::Widget。第一个参数指定的是部件的父窗口部件。窗口的典型类型有如下几类
Qt::Dialog 对话框类型(没有最大化和最小化)
Qt::SplashScreen splash screen--不是太理解这是个什么东东
Qt::FramelessWindowHint 没有边框的窗口
Qt::WindowStaysOnTopHint 窗口一直在最上面
使用setWindowState设置窗口状态,典型的窗口状态有
Qt::WindowMaximized 窗口最大化
Qt::Windowminimized 窗口最小化
Qt::WindowFullScreen 全屏显示
Qt::WindowActive 活动窗口
Qt::WindowNoState 默认值
2017.11.7
今天主要学习了以下几个内容
1.窗口的几何布局
2.程序调试的方法
3.对话框
4.初识信号和槽
下面分别说明这几方面的内容
1.窗口的几何布局
窗口的几何布局是窗口出现的位置和窗口的大小,主要用到的是如下几个函数
x(),y() 分别返回部件在其父部件中的位置左边,默认值是0
geometry() 返回没有边框的窗口矩形的值,返回值是QRect类型,形式:(x,y,宽,高)
frameGeometry() 与上面那个类似,但是返回的是有边框的矩形的值
pos() (x(),y())
2.程序调试
程序调试有两种方法
第一种,如其他IDE工具类似,使用断点配合单步调试观察值
第二种,使用qDebug(),在使用时需要#include <QDebug>
3.对话框
对话框分为模态对话框和非模态对话框
模态对话框:与此对话框交互时不能与其他对话框交互,如文件选择对话框
非模态对话框:与此对话框交互时可以与其他对话框正常交互,如word的查找功能对话框
使用show()函数调用显示的是非模态对话框,使用exec()函数调用显示的是模态对话框
也可以使用setModal()函数设置对话框是模态还是非模态的,使用setWindowModality()函数也可以设置对话框的阻塞类型,有如下几种类型
Qt::NonModal 不阻塞任何窗口,是非模态
Qt::WindowModal 阻塞它的父窗口、所有祖先窗口以及它们的子窗口
Qt::ApplicationModal 阻塞整个应用程序的所有窗口
之后介绍了几种标准对话框,只学习了颜色对话框,其他几种对话框明天学习
初识信号和槽
信号和槽是Qt非常重要的部分,Qt使用信号和槽机制完成对象之间的协同操作
信号和槽关系的建立在我看来分为两个部分:手工书写和在ui界面上生成
先说ui界面上生成部分,界面生成又分为两种方法:
1)界面上存在的两个对象在信号和槽的编辑模式下直接连接
2)界面上选中一个部件,点击右键,选择跳到槽
再说手工书写的方法,手工书写也有两种方法
1)使用connect函数,建立信号和槽的联系,函数原型如下
connect(发射信号的对象, 发射的信号, 接收信号的对象, 要执行的槽)
2)书写槽函数名字的时候符合如下规则,就建立了相应的信号和槽关联
规则:on_发射信号的部件对象_信号名()
再次说明信号和槽是Qt非常重要的部分,此处暂时只学习到这里,后续章节还会更升入的学习,之后再更详细的说明
2017.11.08
今天主要学习了标准对话框,这部分不难,不做过多的记录
颜色对话框 QColorDialog
文件对话框 QFileDialog
输入对话框 QInputDialog
字体对话框 QFontDialog
消息对话框 QMessageBox
进度对话框 QProgressDialog
错误消息对话框 QErrorMessage
向导对话框 QWizard
- 自学QT,点滴记录
- QT开发点滴记录
- javascript自学历程---点滴记录(不断更新)
- QT点滴记录,以便查阅
- QT学习点滴记录(一)
- QT学习点滴记录(二)
- QT学习点滴记录(四)
- QT学习点滴记录(五)
- QT点滴
- Qt点滴
- QT点滴
- Qt点滴
- QT 点滴
- java自学点滴
- ## 自学编程,点滴积累##
- 记录点滴
- 点滴记录
- 记录点滴
- ci框架 开发环境下面, php出现错误,直接返回500,而不是提示错误
- 11月6号练习和心得
- 剑指offer——平衡二叉树
- jQuery学习笔记之empty()
- RL-TCPnet之TCP服务器(enc28j60)
- 自学QT,点滴记录
- 第九周项目2 二叉树遍历的递归算法
- WY运维(BJ)面试题目
- ubuntu 14 手动升级matplotlib2.1.0
- 【JavaSE_学习笔记】集合Collection接口
- 7 种常用的排序算法
- Python小技巧
- 利用sharedptr实现定制删除器
- CART算法实例解析