文章目录

  • qt项目创建
    • 为什么要学习Qt?
    • 学习QT应该学习什么?
    • 快捷键
    • Qt类的命名规范:
    • 函数名字:
    • Qt内置的类型,头文件和类命名同名
    • Qt中的对象树![请添加图片描述](https://img-blog.csdnimg.cn/930fb127984e428cbabbbdb42ae6d4e1.png)
    • .pro文件中,各字符表示的意思

qt项目创建

1.创建路径不能有中文。

qt开发工具:qtcreator

优势:
1.跨平台,几乎支持所有的平台。(一次编码,随处编译)
2.接口简单,容易上手
3.开发效率高,能够快速构建应用程序。
4.很好的社区氛围,市场份额逐年上升。
5.可以进行嵌入式开发。

qt的成功案例:
1.linux桌面环境
2.wps office
3.skype 聊天软件
4.谷歌地球
5.VLC多媒体播放器

mft是windows开发
qt分装了window的API

为什么要学习Qt?

1.锻炼编程能力,GUI编程比后台更能锻炼人,除了核心数据处理,需要更好的协调界面,同时懂得前端和后台编程,才能写出更好的程序。
2.为了更好的使用C++,很多游戏,后台服务器都是使用c++实现的,学习QT框架能够为以后的工作打下一个良好的基础。
总结:学习Qt是为了更好的使用C++。而且可以拓展个人能力。

学习QT应该学习什么?

1.学会帮助文档的使用。F1
2.掌握qt中常用的类,以及其使用方法。(按钮类,标签类,编辑框类)
记住类的名字就好了,不需要记住方法。知道类是要干嘛的就行了。

快捷键

1.帮助文档:F1
2…h文件和对应的.cpp文件切换时 :F4
3.编译运行:ctrl + R ,只是编译 ctrl+B
4.函数声明和定义切换:F2
5.查找替换关键字:ctrl+f
6.注释ctrl + /

Qt类的命名规范:

单词的首字母必须时大写,单词和单词之间直接连接,无需连接符
如:MyClass,QpushButton
class MainWindow
{
};

函数名字:

变量名:第二个单词开始(不是第一个单词开始),首字母大写,单词和单词之间直接连接,无需连接符。
如:
void setFlag();
QString getText();
bool isDrow();

Qt内置的类型,头文件和类命名同名

每一个类,对应一个头文件。
#include 字符串类
QString str;

#include
QWidget w;

创建一个简单的窗口

版本控制工具 git svn vss
QWidget: 所有窗口类的父类。
QDialog :顶层窗口(第一个打开的窗口,对话框窗口) ,只有一个关闭按钮。
QMainWindow:菜单栏,工具栏。

#include "mywidget.h"   //添加的窗口类,//在qt中类名和头文件名相同
#include <QApplication>     //应用程序类:比如创建好的窗口的拖动,放大缩小等int main(int argc, char *argv[])
{//应用程序类,在每一个qt程序中有且仅有一个QApplication a(argc, argv);//窗口类,创建出来之后默认不显示myWidget w;  //如果要对 窗口操作,就必须对 w进行操作//显示窗口w.show();//走到后台进行了一个消息(里面就是一个死循环,收到某一个信号就会结束,结束对窗口的监听)return a.exec();
}

1.首先需要一个应用程序类
2.需要一个窗口类
myWidget w; //如果要对 窗口操作,就必须对 w进行操作


QPushButton(QWidget *parent = 0) //指定一个父窗口
QPushButton(const QString &text,QWidget *parent = 0) //还可以设置按钮显示内容
QPushButton(const QString &text,QWidget *parent = 0) //还可以给按钮加上图片

  • b2 = new QPushButton(“hello,qt”,this); //必须指定父对象,才可以显示再父窗口类中,b2不用回收,由系统自动回收

    Qwidget Class 继承自Object类
    定时器也是Object的派生类,不属于窗口类

Qt中的对象树

当父对象要析构的时候,所有的子对象都已经被析构掉了

.pro文件中,各字符表示的意思



遇到的问题1:undefined reference to `vtable for MyButton’

处理方法就是重新qmake一下,也可以修改pro文件进而引发重新生成Makefile。

myWidget::myWidget(QWidget *parent): QWidget(parent)
{//初始化/** 如果窗口要依赖于一个窗口,需要给该窗口指定一个父类* 父窗口显示的时候,子窗口也会随之显示*/b2 = new QPushButton("hello,qt",this);  //b2不用回收b2->setText("姓名");b2->show();   //窗口类创建出来的时候是默认不显示的b2->resize(200,80);//还可以b1.setParent(this);b1.setText("年龄");//修改按钮的位置 --移动//窗口的坐标系 ,原点在左上角,X轴向右递增,y向下递增b1.move(200,0);//窗口也会跟着增大//如何指定创阔的大小b1.resize(200,80);//内存自动回收//1.从Object派生的类,1.直接 2.间接//1.指定父类,父亲析构的时候,先析构其孩子//创建自定义的按钮对象,首先需要包含头文件MyButton *btn  =  new MyButton(this); //提供的构造函数只有一个参数btn->setText("性别");btn->resize(200,80);btn->move(400,0);//设置窗口的标题this->setWindowTitle("史倩钰是猪猪");this->resize(1000,800);//使得窗口的大小不能变化this->setFixedSize(1000,800);//自定义窗口图标//  this->setWindowIcon("/home/stu/qtproject/beauty.jpg");
}

【qt开发】qt了解相关推荐

  1. Qt开发-QT Widgets

    前言 Qt Quick和Qt Widgets这两种技术,官方是强推Qt Quick的. 注意: Qt Widgets使用Python结合PySide2开发的时候,窗口的缩放,内部的组件不会随之缩放,用 ...

  2. Qt开发-QT Quick

    前言 QT Quick和Qt widgets这两种技术,官方是强推QT Quick的. QT Quick中布局一般有如下四种方式, 绝对坐标:x.y.z.width.height.top.left 锚 ...

  3. Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113773009 长期持续带来更多项目与技术分 ...

  4. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  5. QT开发(五十)——QT串口编程基础

    QT开发(五十)--QT串口编程基础 一.QtSerialPort简介 1.串口通信基础 目前使用最广泛的串口为DB9接口,适用于较近距离的通信.一般小于10米.DB9接口有9个针脚. 串口通信的主要 ...

  6. 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容...

    [Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...

  7. [转]使用QT开发GoogleMap瓦片显示和下载工具

    第一节 之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背 ...

  8. Qt安装—图文并茂搭建VS2008+QT开发环境

    (一)工欲善其事,必先利其器,废话不多讲. 总结起来网上流行的VS2008+QT安装说明有以下几个问题需要解释清楚:      1,首先明确需要下载什么版本的QT.网上流行的安装说明只是针对过去旧版本 ...

  9. QT开发(六十四)——QT样式表(二)

    QT开发(六十四)--QT样式表 本文主要翻译自QT官方文档Qt Style Sheets . 五.QT样式表参考 QT样式表支持多种的属性.状态和子控件,使得定制组件的外观成为可能. 1.组件 以下 ...

  10. 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )

    文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...

最新文章

  1. IT兄弟连 JavaWeb教程 JSON和JSON字符串
  2. dplayer js控制 自动全屏_Qt编写安防视频监控系统18-云台控制
  3. [待总结]各种中文乱码分析与处理:数据库、eclipse、linux to windows、web应用
  4. Tempter of the Bone(HDU1010)
  5. 从前馈到反馈:解析循环神经网络(RNN)及其tricks
  6. 未来教育计算机二级第一套ppt解析,计算机二级未来教育PPT部分答案
  7. Redmine 126邮件服务器的配置
  8. c++获取一段代码的执行时间_微软IE浏览器JScript脚本引擎远程代码执行漏洞通告...
  9. zynq 和fpga区别_FPGA复位的正确打开方式
  10. css 3D 旋转 - Demo
  11. 伦敦大学计算机研究生雅思要求,伦敦TOP10大学的雅思入学要求来了!
  12. 从《如何在只有一份错误的协议的情况下,做好网络编程》论人品的重要性
  13. 51单片机基础——串口发送66,数码管显示66
  14. Android开发需要学什么,技术实现
  15. 极速系列05—python批量拆分/合并PDF文档
  16. python画樱花(一)
  17. maven工程私服仓库配置(阿里云仓库)
  18. 电脑可以上网,但是qq登陆不上去?
  19. 30岁女会计转行学计算机,30多转行当会计怎么样?30岁转行做会计晚不晚-之了课堂...
  20. C语言实验室内部培训讲义

热门文章

  1. 用于电子书的RSS——OPDS
  2. RRDtool简体中文教程
  3. RRDTOOL 学习
  4. grub 2.0安装linux,grub2引导安装kali2.0及安装ibus拼音输入法
  5. GLPI数据库中的表结构,常用表的含义及其定位
  6. 【浏览器被劫持解决方案】https://www.hao123.com/?tn=9762xxxx2644_hao_pg
  7. 数据结构2(线性表)
  8. Android用Double Array Trie (双数组)实现关键字的搜索
  9. PHP redis配置说明
  10. 【视觉高级篇】23 # 如何模拟光照让3D场景更逼真?(上)