首页 > 其他分享 >qt入门介绍

qt入门介绍

时间:2024-10-14 20:21:17浏览次数:3  
标签:文件 Dialog Qt 项目 入门 介绍 dialog cpp qt

一、Qt简介

Qt是一个基于C++的图形用户界面(GUI)框架,可以开发可视化人机交互程序,但是这并不是Qt的全部。Qt除了可以绘制漂亮的界面外,还包含很多其他的功能:多线程、数据库、图像处理、音视频处理、网络通信、文件IO等。

二. Qt优势

跨平台:一次编程,到处编译。

面向对象开发

丰富的API和开发文档

开源

......

三、项目结构

有6个固定文件:

1: .pro 项目配置文件

用于配置项目参数,在Windows中双击此文件可导入项目

#-------------------------------------------------

#

# Project created by QtCreator 2024-10-12T19:30:05

#

#-------------------------------------------------

# 添加core模块和GUI模块

QT += core gui

# 如果当前Qt的主版本号大于4,则添加widgets模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

# 生成exe可执行文件的名称

TARGET = HelloWorld0928

# 当前项目以Qt应用程序的方式构建

TEMPLATE = app

# 项目中包含的源文件

SOURCES += main.cpp\

dialog.cpp

# 项目中包含的头文件

HEADERS += dialog.h

# 项目中包含的界面文件

FORMS += dialog.ui

2: .user 用户文件

此文件是Qt项目基于当前运行环境生成的用户文件,每个项目、每台计算机的此文件都不通用,在传输项目之间建议删除此文件,如果拿到他人的项目包含此文件,需要在导入项目之前先删除。

3: main.cpp 主文件

内部包含主函数——程序执行的入口,此文件通常不需要改动。

#include "dialog.h"

#include <QApplication> // Qt内置类都是Q开头的

int main(int argc, char *argv[])

{

//QApplication类管理GUI应用程序的控制流程和主要设置。

QApplication a(argc, argv);

// Dialog类是项目自动编写的类型

// 此类包含2-3个文件

// 1. dialog.h 头文件

// 2. dialog.cpp 源文件

// 3. diaoog.ui 界面文件(非必须)

// 创建了一个对话框窗口的栈内存对象

Dialog w;

// 展示窗口

w.show();

return a.exec(); // 进入主事件循环

}

4:dialog.h

Dialog类的声明。

5: dialog.cpp

Dialog类的定义。

6: dialog.ui

Dialog类的样式,此文件非必须

四、调试信息类QDebug

在Qt中输出调试信息不再使用cout,而是替换为QDebug,因为Qt信息输出是区分前后台的,前台指的是用户可视界面,后台是开发者可见,但用户不可见的区域。传统的C和C++输出的内容是不区分前后台的。QDebug可以把调试信息在Qt后台输出,避免用户可见。

新建一个项目,取消Dialog类的界面文件(这样的项目更简单),只需要更改第4节中新建项目的第5步,如下:

dialog.h

#ifndef DIALOG_H

#define DIALOG_H

#include <QDialog>

#include <QDebug> // 调试信息类

class Dialog : public QDialog

{

Q_OBJECT

public:

Dialog(QWidget *parent = 0); // 构造函数

~Dialog(); // 析构函数

};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"

// 构造函数定义

Dialog::Dialog(QWidget *parent)

: QDialog(parent) // 透传构造

{

// 连续输出的过程中,中间自动加空格

// 每句qDebug()最后都自动添加换行

// 【Qt命名规范】

// 变量和函数使用小驼峰命名法:

// 第一个单词全小写,后续每个单词的首字母大写

qDebug() << "构造函数" << "调用了";

}

// 析构函数定义

Dialog::~Dialog()

{

qDebug() << "析构函数";

}

 

标签:文件,Dialog,Qt,项目,入门,介绍,dialog,cpp,qt
From: https://blog.csdn.net/weixin_63207763/article/details/142885765

相关文章

  • ui入门
    一、QWidget类     QWidget是Qt中所有用户界面对象的基类,即可视化组件和窗口的基类都是此类,因此QWidget类内部包含了大量的与UI相关的基础特性。最最基础的属性:width:constint宽度,单位像素,不计算边框。属性在文档中通常包含Accessfunctions表示此......
  • 从0-1入门Flink全网最全吐血总结
    Flink是Apache基金会旗下的一个开源大数据处理框架。目前,Flink已经成为各大公司大数据实时处理的发力重点,特别是国内以阿里为代表的一众互联网大厂都在全力投入,为Flink社区贡献了大量源码。如今Flink已被很多人认为是大数据实时处理的方向和未来,许多公司也都在招聘和......
  • 网络安全学习路线及各类杂项汇总,零基础入门到精通,收藏这篇就够了
    1.安全法(笔者认为学习网络安全前首先得学这个)不是这个↑网络安全法律:了解网络安全相关的法律法规和伦理标准。合规性与标准:学习ISO27001、GDPR等安全标准和合规要求。2.基础知识计算机网络基础:了解网络的基本原理,如TCP/IP协议、OSI模型、路由和交换等。操作系......
  • 盘点IT江湖上能打的十本证书,零基础入门到精通,收藏这一篇就够了
    HCIE考证研究所|厂商认证考试追踪作为一名IT人员,谁没考几个证?值得考的证书都拥有以下特性:▶获政府、企业和从业者认可▶持证人数多,业内共识度高▶帮持证者加分,快速提薪今天,咱们就一起来盘盘,IT行业中,具体哪些认证的含金量高。01系统网络方向认证01华为认证华......
  • Qt打印日志
    不使用第三方库,直接使用Qt实现日志打印,demo下载#include"QtLog.h"#include<QtWidgets/QApplication>#include<QMutex>#include<QFile>#include<QDir>#include<QDateTime>#include<QCoreApplication>#include<QApplication>......
  • aardio入门到精通06-常量、成员常量、全局常量、常量函数
    常量、成员常量、全局常量、常量函数importconsole;//常量、全局常量、常量函数(库函数)//主要内容:常量的特性、不同类型的常量(字面常量、成员常量、全局常量)以及它们的使用场景。如何将普通变量转换为全局常量,以及全局常量在API函数中的应用。//一、常量://1-1常量......
  • 【Linux】解析信号的本质&相关函数及指令的介绍
    前言大家好吖,欢迎来到YY滴Linux系列,热烈欢迎!本章主要内容面向接触过C++的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!YY的《C++》专栏YY的《C++11》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》......
  • SOFABoot 入门及基本使用
    1.前言SOFABoot是蚂蚁金服开源的基于SpringBoot的研发框架,它在SpringBoot的基础上,提供了诸如ReadinessCheck,类隔离,日志空间隔离等能力。在增强了SpringBoot的同时,SOFABoot提供了让用户可以在SpringBoot中非常方便地使用SOFA中间件的能力。阿里官方文档由于是基......
  • 大模型AI产品经理学习路线,2024最新,从零基础入门到精通,非常详细收藏我这一篇
    随着人工智能技术的发展,尤其是大模型(LargeModel)的兴起,越来越多的企业开始重视这一领域的投入。作为大模型产品经理,你需要具备一系列跨学科的知识和技能,以便有效地推动产品的开发、优化和市场化。以下是一份详细的大模型产品经理学习路线,旨在帮助你构建所需的知识体系,从零基......
  • 入行网络安全需要学习哪些知识点?白帽子佬都给你汇总在这里,一文全懂_网络安全入门应该
    都说IT互联网行业吃香,那么如何才能高效入行,习得一技之长换取心仪offer?一般来说,0基础小白想入行到网络安全行业,按照如下学习逻辑肯定是错不了的:一、基础知识掌握1、计算机基础知识:理解计算机体系结构、操作系统、网络通信等基础知识,这是进入网络安全领域的基础。2、网络......