QT学习(一)—— 第一个QT项目

2023-10-27

1.1 新建一个项目

在这里插入图片描述
添加项目名称:
在这里插入图片描述
选择Qwidget类,暂时不选择Generate form那个
在这里插入图片描述
补充(这里介绍了一下widget、mainWindow、dialog三种类的关系):
在这里插入图片描述

编译器用QT自带的:
在这里插入图片描述
创建完毕:
在这里插入图片描述

1.2 项目介绍

1.2.1 .pro文件

(1)打开项目文件夹

点击.pro文件,右键,选择”在Explorer中显示“,可以打开项目文件夹:

在这里插入图片描述在之后的时间,若想再次编辑该项目,可以直接双击该.pro文件,自动打开QT编辑界面。

(2)这个.pro文件用 # 注释

(3)为QT添加模块

core——QT核心模块
gui——图形界面模块

在这里插入图片描述

因为在4.0版本之后,widgets模块就单独分离出来了,所以要单独添加。

(4)QT支持c++11新特性

在这里插入图片描述

(5)定义添加选项

在这里插入图片描述

1.2.2 main.cpp 程序入口

(1)头文件

在这里插入图片描述

(2)定义应用程序对象

在这里插入图片描述

(3)定义空窗口对象

在这里插入图片描述

(4)调用空窗口对象的子函数 show( )

show()函数是在程序运行后,用来显示出界面的。
在这里插入图片描述

(5)调用应用程序对象的消息循环函数 exec( )

exec( )这个函数使得程序循环,否则在运行时,就只会一闪而过
在这里插入图片描述

(6)完整程序

main.cpp

#include "Widget.h"

#include <QApplication> // 应用程序头文件

int main(int argc, char *argv[])
{
    QApplication a(argc, argv); // 定义应用程序对象

    Widget w; // 定义空窗口对象
    
    w.show(); // 调用空窗口子函数 显示窗口(不调用这个函数,程序在运行时就没有窗口界面)

    return a.exec(); // 调用应用程序对象 消息循环函数(没有这个函数,程序只会一闪而过)
}

1.2.3 Widget.h 头文件

(1)头文件卫士

在这里插入图片描述
在这里插入图片描述

(2)包含QWidget头文件

在这里插入图片描述

(3)继承QWidget,产生新的类Widget

在这里插入图片描述

(4)完整代码

Widget.h

#ifndef WIDGET_H
#define WIDGET_H // 头文件卫士

#include <QWidget>  // 包含QT空窗口头文件

class Widget : public QWidget // 继承QWidget,定义一个新的类Widget
{
    Q_OBJECT // 支持信号 和 槽

public:
    Widget(QWidget *parent = nullptr); // 构造函数
    ~Widget();  // 析构函数
};

#endif // WIDGET_H

1.2.4 Widget.cpp源文件

(1)构造函数和析构函数的实现

在这里插入图片描述

(2)设置窗口标题:setWindowTitle( )

在这里插入图片描述

(3)设置窗口大小:resize( )

在这里插入图片描述

(4)固定窗口大小:setFixedSize( )

在这里插入图片描述

(5)完整代码

Widget.cpp

#include "Widget.h"

// 构造函数实现
Widget::Widget(QWidget *parent)
    : QWidget(parent) // 初始化列表
{
    // 设置窗口标题
    this->setWindowTitle("hello QT");

    // 设置窗口大小:宽400,高800
    this->resize(400, 800);

    // 固定窗口大小:宽150,200 (此时不能拖拽了放大缩小窗口了)
    this->setFixedSize(150, 200);
}

// 析构函数实现
Widget::~Widget()
{
}

1.3 快捷键

(1)注释和解除注释

注释和解除注释:ctrl + /

(2)运行程序

运行:ctrl + r

(3)构建

构建:ctrl + b

(4)转到定义/声明切换

转到定义/声明切换:F2

(5)返回

返回:Atl + <——

(6)前进

前进:Atl + ——>

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

QT学习(一)—— 第一个QT项目 的相关文章

  • 有没有办法向 QListView 添加部分?

    我正在使用 Qt5 2 和 C 来实现一个应用程序 需要显示一个列表 其中包含类似于下面的示例图像的部分 source ngo hung com http www ngo hung com files images contact list
  • new 运算符(以及 malloc)无法分配约 450 MB 的内存 [重复]

    这个问题在这里已经有答案了 我正在开发一个程序 该程序在内存中存储大约 2 2 亿个短值的数组 该数据块的分配方式如下 short arrayName new short SIZE OF ARRAY 然后将文件的内容读入内存 在团队中的另一
  • 获取 QListView 中所有可见项目的简单方法

    我正在尝试使用 Qt Framework 开发一个图像库应用程序 应用程序从所选文件夹加载所有图像 并使用 QListView 控件显示这些图像 但现在我想通过仅加载用户可见的图像来减少内存消耗 由于没有直接函数来获取视图中的所有可见项目
  • 如何在QT上暂停和重新启动Qtimer

    我有 Ubuntu 我正在使用 IDEQT on C 我将暂停和恢复计时器 例如 void Ordonnancer les taches on pushButton clicked connect dataTimer SIGNAL time
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • QMainWindow 上的 Qt 布局

    我设计了一个QMainWindow with QtCreator s设计师 它由默认的中央小部件 aQWidget 其中包含一个QVBoxLayout以及其中的所有其他小部件 现在我想要的一切就是QVBoxLayout自动占据整个中央小部件
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • 在 Qt 中使用多个不同的流读取同一文件

    使用 Qt 是否可以使用多个流读取文件以同时访问其中的不同数据部分 请注意 Qt 中的流 QTextStream QDataStream 不处理底层设备中的位置 流类只是一个包装器 用于更轻松地解析设备 QFile 实例 内的二进制数据 因
  • Qt:不完整类型和前向声明的使用无效

    我有一些误解 A h ifndef A H define A H include B h class A public B Q OBJECT public A endif A cpp include A h A A B ui gt blan
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • 了解 Qt3D 创建的网格

    我创建了一个 Qt3D 网格 如下所示 Qt3DCore QEntity newEntity new Qt3DCore QEntity Qt3DExtras QConeMesh mesh new Qt3DExtras QConeMesh m
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • Qt - 如何使用 QNetworkAccessmanager 获取响应文本

    这是我的代码 Widget Widget manager new QNetworkAccessManager this connect manager SIGNAL finished QNetworkReply this SLOT repl
  • 使用 C++ 访问 Azure blob 存储 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 QWT 构建时出错

    我收到一个错误 undefined reference to QwtPlot QwtPlot QWidget 当我尝试构建我的项目时 即使设置中一切看起来都很好 在我的 CmakeLists txt 中我有 include director
  • 一个具有完全透明背景的qt小部件

    我需要创建一个 qt 小部件 它将充当其他一些小部件的父级 并对它们进行排序 现在的问题是如何使其背景完全透明 我想这样做 struct Imp Imp QWidget parent thisWidget new QWidget paren
  • Qt 5.3 QPlainTextEdit 更改 QTextCursor 颜色

    我想更改下面的光标颜色QPlainTextEdit小部件 我能够将其宽度设置为6 但我想改变颜色或者它 是否可以 QFontMetrics fm font setCursorWidth fm averageCharWidth setCurs
  • QWebEngineView 在 load() 或 page() 方法上崩溃

    我正在致力于将 Qt 5 5 QWebView 项目移植到 Qt 5 6 测试版 QWebEngine 我已经阅读了移植指南here https wiki qt io Porting from QtWebKit to QtWebEngine
  • 如何在不声明 32 个插槽的情况下将 32 个按钮的 pressed() 信号连接到单个函数?

    我有一个小部件 里面有 32 个按钮 我需要将每个按钮的 Pressed 信号连接到一个插槽 以便调用一个函数 该函数的参数取决于我按下的按钮 现在我通过以 on QPushButtonName pressed 的形式添加 32 个插槽来做

随机推荐

  • 什么是LTS、Alpha、Beta、Dev、Release、Patch版本,软件的开发周期有多少种命名

    根据Wikipedia 2023 Software release life cycle显示 软件的开发周期版本命名有以下几种 Pre alpha Dev Alpha Beta Perpetual beta Open and closed
  • Boyer-Moore 投票算法(摩尔投票法)

    摩尔投票法简单来说就是在不影响或者增大众数在整个数组中的地位的情况下去消除无关数字带来的影响 只需遍历一遍数组即可找到众数 算法流程 先随机假设一个数x为候选数 可以假设数组的第一个数 并尝试维护一个count计数器 开始设置为0 设置了众
  • GPT系列训练与部署——Colossal-AI环境配置与测试验证

    Colossal AI框架主要特色在于对模型进行并行训练与推理 多GPU 从而提升模型训练效率 可快速实现分布式训练与推理 目前 该框架已集成很多计算机视觉 CV 和自然语言处理 NLP 方向的算法模型 特别是包括GPT和Stable Di
  • Hbuilder We're sorry

    当Webview窗口加载错误地址 如本地页面不存在 或者访问网络资源失败 如无法访问网络 时会自动显示默认错误页面 可以通过以下方法自定义Webview的404等错误页面 设置应用全局默认错误页面 5 App和wap2app 在应用的man
  • OSPF从初学到放弃 2.1

    本来要开开心心写博客的 结果刚刚看见之间知乎上的两个评论被要求修改 两篇评论都是关于同一个问题的 我都有理由怀疑是资本的力量太强大了 说好的舆论自由呢 一群骗子 好气好气好气 OSPF协议及作业 前言 一 OSPF是什么 仔细说一下 二 聊
  • 一小时入门Python爬虫,连我都会了!Python爬取租房数据实例

    一 什么叫爬虫 爬虫 又名 网络爬虫 就是能够自动访问互联网并将网站内容下载下来的程序 它也是搜索引擎的基础 像百度和GOOGLE都是凭借强大的网络爬虫 来检索海量的互联网信息的然后存储到云端 为网友提供优质的搜索服务的 二 爬虫有什么用
  • 【算法系列篇】二分查找——这还是你所知道的二分查找算法吗?

    文章目录 前言 什么是二分查找算法 1 二分查找 1 1 题目要求 1 2 做题思路 1 3 Java代码实现 2 在排序数组中查找元素的第一个和最后一个位置 2 1 题目要求 2 2 做题思路 2 3 Java代码实现 3 搜索插入位置
  • USB MSC类存储设备及FatfsR0.14移植

    USB MSC类存储设备及FatfsR0 14移植 效果演示 配置说明 USB MSC类配置 FatFs移植 FatFs的配置 驱动接口 FatFs测试 USB MSC驱动接口完善 效果演示 这里演示了 FatFs挂载SPI Flash设备
  • java中的锁(基础篇)

    乐观锁和悲观锁 悲观锁 适合写操作多的场景 先加锁可以保证写操作时的数据正确 乐观锁 实际开发 Synchronized关键字 悲观锁 加了后同一时间有且只有一个线程可以进入锁内 1 修饰实例方法 作用于当前实例对象加锁 进入同步代码前要获
  • ReinHard颜色迁移

    看到颜色迁移 觉得还蛮有意思的 遂简单看了一下 代码实现好像有错误 但是不知道错误出在哪里 算法参考 https blog csdn net sin geek article details 22443537 https blog csdn
  • SD卡的控制方法与时序

    1 1 SD卡的命令格式 SD卡的指令由6字节 Byte 组成 如下 Byte1 0 1 x x x x x x 命令号 由指令标志定义 如CMD39为100111即16进制0x27 那么完整的CMD39第一字节为01100111 即0x2
  • [Numpy] mgrid与ogrid

    文章目录 numpy mgrid numpy ogrid numpy mgrid numpy lib index tricks nd grid的替代 在给定范围内返回一个ndarray 是网格上的点 import numpy as np 起
  • webpack安装和使用及超详细配置一个基本vue项目的全部流程(包括路由、less、引入图片渲染)

    文章目录 一 搭建一个简单的webpack项目 1 准备工作 2 初始化项目 3 安装并使用webpack 1 使用npm语句安装webpack和webpack cli 2 检测是否安装成功 需要注意点是由于webpack并不是全局安装的
  • 【BMC】简介

    什么是BMC 在介绍BMC之前需要了解一个概念 即平台管理 platform management 平台管理表示的是一系列的监视和控制功能 操作的对象是系统硬件 比如通过监视系统的温度 电压 风扇 电源等等 并做相应的调节工作 以保证系统处
  • Linux配置sar服务

    Linux配置sar服务 下面以suse 为例 其他系统类似 检查是否有安装sar服务 sar服务包含在sysstat软件包中 rpm qa grep sysstat 如果没有安装执行下面的命令安装 zypper install sysst
  • OCR-APP开发总结(一)

    一 解决删除 运行模式 布局的问题 1 直接将对应的xml部分删除 2 将 Java中MainActivity中引用对应的ID部分删除 并将运行模式的值默认 3 效果图 二 裁剪方法 方法1 android自带的crop进行裁剪 缺点 裁剪
  • Spring MVC类型转换的相关说明

    转自 Spring MVC类型转换的相关说明 下文讲采用示例的方式 讲述相关类型说明 如下所示 insert jsp页面的代码如下
  • C++ 命名空间 & 模板

    命名空间 为了区分不同库中相同名称的函数 类 变量等 引入概念 命名空间 它可作为附加信息来帮助区分它们 使用了命名空间即定义了上下文 本质上就是定义了一个范围 定义命名空间 命名空间的定义使用关键字 namespace 后跟命名空间的名称
  • python实现从零搭建图书管理系统

    学习目标 tornado入门学习 异步服务器学习 异步数据库操作 一 虚拟环境 1 1 虚拟环境的创建 mkvirtualenv tornado py3 p python3 1 2 安装tornado pip install tornado
  • QT学习(一)—— 第一个QT项目

    1 1 新建一个项目 添加项目名称 选择Qwidget类 暂时不选择Generate form那个 补充 这里介绍了一下widget mainWindow dialog三种类的关系 编译器用QT自带的 创建完毕 1 2 项目介绍 1 2 1