Qt学习日志2021_08_20

2023-10-31

Qt学习日志2021_08_20

Qt项目的创建

为了做一个Qt的项目,先来学习学习

今天时间不多,先做一些简单的了解

创建项目很简单,安装好Qt之后,就可以根据提示创建了。

要注意:

  • 不能路径有中文
  • 项目名称也不能有中文、空格等

上面还有很多的教程和实例,可以看看学习。


优点:

  • 跨平台

  • 接口简单

  • 简化了内存回收

三种窗口:

  • QWidget (最简单的窗口,什么都没有)
  • QMainWindow (拥有菜单栏等,算是子类)
  • QDialog (对话框。也是QWidget的子类。)

创建之后就会生成默认的头文件,源文件

版本控制系统

  • svn

  • vss

  • git

函数

#include "my_widget.h"
#include <QApplication>

//argc 命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在Qt中有且仅有一个
    QApplication a(argc, argv);
    My_Widget w; //实例化一个窗口对象
    //窗口对象不会默认现实,要用show函数显式表达
    w.show();

    //让应用程序对象进入消息循环机制
    return a.exec();
}
#include "my_widget.h"
#include "ui_my_widget.h"

My_Widget::My_Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::My_Widget)
{
    ui->setupUi(this);
}

My_Widget::~My_Widget()
{
    delete ui;
}

Qt中的命名规范和快捷键

Qt的基本模块

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AzOubHKh-1629471890570)(D:\java_learn\Qt学习日志2021_08_20.assets\image-20210820222350328.png)]

工程文件分析

#-------------------------------------------------
#
# Project created by QtCreator 2021-08-20T22:08:42
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = project_01  //项目名
TEMPLATE = app       //模板 默认的是app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

CONFIG += c++11

SOURCES += \   //源文件
        main.cpp \
        my_widget.cpp

HEADERS += \   //头文件
        my_widget.h

FORMS += \
        my_widget.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
  • 类名:首字母大写,驼峰原则
  • 函数:小驼峰
  • 注释 : ctrl + /
  • 运行 : ctrl + l
  • 编译 : ctrl + b
  • 查找 : ctrl + f
  • 自动对齐: ctrl + i
  • 同名之间的 .h文件和 对应的.cpp文件切换: F4
  • 帮助文档 F1

创建一个按钮

QPushButton *btn = new QPushButton;
btn->show(); 
    QPushButton *btn = new QPushButton;
    //btn->show(); 默认以顶层的方式弹出
    //相要让按钮依赖在窗口中,需要指向父亲
    btn->setParent(this);

    //显示文本
    btn->setText("第一个按钮");
    btn->move(250,200);

    //创建第二个按钮 按照控件的大小创建了窗口
    QPushButton *btn2 = new QPushButton("第二个按钮",this);

    //移动按钮的位置
    btn2->move(250,100);

    //重置窗口大小
    resize(600,400);
    //setFixedSize(600,400); 用户将不能缩放拉动窗口

    //设置窗口标题
    setWindowTitle("第一个窗口");

对象树

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt学习日志2021_08_20 的相关文章

随机推荐

  • C++之合并两个链表

    题目 已有a b两个链表 每个链表中的结点包括学号 成绩 要求把两个链表合并 按学号升序排列 include
  • 程序员不擅长沟通???

    版权声明 原创作品 允许转载 转载时请务必以超链接形式标明文章原始出版 作者信息和本声明 否则将追究法律责任 本文地址 http blog csdn net jobchanceleo archive 2007 01 18 1487073 a
  • c++函数返回引用

    转自 http www cnblogs com floatedclouds archive 2011 10 13 2209917 html 1 什么是引用 引用就是变量的别名 操作一个变量的引用也就相当于操作变量本身 这一点跟指针很类似 但
  • Cursor,程序员的 AI 代码编辑助手

    相信大家都或多或少地听说过 了解过 chatGPT 半个月前发布的 GPT 4 可谓是 AI 赛道上的一个王炸 那么今天咸鱼给大家分享一个开源的 AI 代码编辑器 Cursor 让各位程序员在编程之路上一骑绝尘 介绍 Cursor 是一个人
  • minigui成功移植到ubuntu64位平台

    1 pc系统ubuntu14LTS 64bit 同时在32位ubuntu16 04上经过了测试 官方的所有范例程序都能运行 2 过两天会写份详细的移植教程 现在只是将移植好的文件上传到我的csdn下载 大家可以免费下载 3 做个简单的移植过
  • nginx代理去掉URl前缀

    今天接到一个配置nginx的需求是 需要访问某个域名时 nginx可以去掉前缀去代理访问到后端 正常配置情况下 在nginx配置文件中中设置了 location prod api api 时 浏览器访问 prod api api 反向代理到
  • ModbusPoll和Slave的使用教程

    ModbusPoll和Slave的使用教程 在工业领域 很多地方采用了Modbus协议 简单理解一下Modbus协议 就是把数据存在寄存器地址里面编号 然后通过协议读取 modbus有主机和从机 主机只有一个 从机可以有很多个 玩过Tcp的
  • PAT C语言入门题目-7-52 数组元素循环右移问题 (20 分)

    7 52 数组元素循环右移问题 20 分 一个数组A中存有N gt 0 个整数 在不允许使用另外数组的前提下 将每个整数循环向右移M 0 个位置 即将A中的数据由 A 0 A 1 A N 1 变换为 A N M A N 1 A 0 A 1
  • 尚硅谷-康师傅-MySQL详细笔记(10-18章)

    mysq详细笔记10 18章 第10章 创建和管理表 10 1 基础知识 10 1 1 一条数据存储的过程 10 1 2 标识符命名规则 10 1 3 MySQL中的数据类型 10 2 创建和管理数据库 10 2 1 创建数据库 10 2
  • 安卓移动应用开发之从零开始写安卓小程序3

    实验3 修改我们的HelloWorld程序 让它和我们的手机app外观差不多 一 打开我们的HelloWorld程序 没有的同学请自行创建或者下载我发上去的资源 大家如果遇到sync没有跳出来的 可以点击这个search 然后输入sync回
  • Nmap简单使用教程

    在Web攻防的过程中对有关主机存活 应用版本扫描的相关工具中 Nmap是最常使用的信息收集工具 Nmap是一款开源的网络探测和安全审核的工具 它的设计目标是快速地扫描大型网络 Nmap可以探测网络中有哪些主机存活 这些主机都提供了什么服务
  • 【山河送书第十期】:《Python 自动化办公应用大全》参与活动,送书两本!!

    山河送书第十期 Python 自动化办公应用大全 参与活动 送书两本 前言 一 书籍亮点 二 作者简介 三 内容简介 四 购买链接 五 参与方式 六 往期赠书回顾 前言 在过去的 5 年里 Python 已经 3 次获得 TIOBE 指数年
  • 基于IMU和超声的3D手势识别笔

    随着科技的发展 人机交互在商业中有了越来越多的应用 面对日益复杂的交互场景 手势识别逐渐成为虚拟现实等相关应用的主要交互手段 3D手势识别是一个具有挑战性的问题 常用的手势传感器有三种基本类型 多点触摸屏传感器 基于视觉的传感器和基于安装的
  • 微信小程序(订阅消息)

    小程序模板消息即将被废弃掉 于是有了新接口wx requestSubscribeMessage 订阅消息文档 步骤 1 获取用户openid access token 前面文章提到过 2 获取模板 ID 3 获取下发权限 api 4 发送订
  • 【项目】前端实习——后端接口数据获取与渲染

    后端数据获取与渲染 接口联调 数据渲染 挂载 生命周期 数据更新 实习项目开发与自己平时练习的项目最大的不同就是有接口数据 通过发起一定的请求获取到后端的数据 接口联调 在后端部署好后 通过网络请求去获取数据 前面我们已经定义好一些死的数据
  • uboot环境变量分析

    项目情景 最近我在一个新平台的开发过程中遇到烧录问题 具体的问题是使用原厂提供的烧录脚本烧录成功 但是固件却没有更新 其中kernel和dtb烧录指令如下 adnl exe Partition M mem P 0x1000000 F lin
  • BOA 调用 CGI 原理

    文章目录 BOA 调用 CGI 原理 BOA 调用 CGI 原理 环境 arm7 i mx6ul 源码 boa 0 94 13 boa 移植以及怎么使用CGI网上有很多示例 但是找不到原理相关的 今天项目中有关用到 就看了下源码 首先我们用
  • Redis闲谈(1):构建知识图谱

    场景 Redis面试 图片来源于网络 面试官 我看到你的简历上说你熟练使用Redis 那么你讲一下Redis是干嘛用的 小明 心中窃喜 Redis不就是缓存吗 redis主要用作缓存 通过内存高效地存储非持久化数据 面试官 Redis可以用
  • deadline调度器

    Linux内核中定义了5个调度器类 分别对应5个调度器 调度优先级顺序由高到低依次为 stop sched class dl sched class rt sched class fair sched class idle sched cl
  • Qt学习日志2021_08_20

    Qt学习日志2021 08 20 Qt项目的创建 为了做一个Qt的项目 先来学习学习 今天时间不多 先做一些简单的了解 创建项目很简单 安装好Qt之后 就可以根据提示创建了 要注意 不能路径有中文 项目名称也不能有中文 空格等 上面还有很多