C++Qt入门(1)—Qt简介,第一个Qt程序,Qt按钮

C++Qt入门(1)—Qt简介,第一个Qt程序,Qt按钮文章目录一、QT简介1.什么是QT?2.Qt的发展史?二、第一个Qt程序1.路径名,文件名中不能有中文2.创建默认窗口类3.main函数4.对.pro文件的解释5.QtCreator快捷键6.QPushButton的创建7.对象树(了解)8.QT中的坐标系一、QT简介1.什么是QT?Qt是一个跨平台的C++图形用户界面应用程序框架2.Qt的发展史?1991年Qt最早由奇趣科技开发1996年进入商业领域,是目前流行的Linux桌面环境KDE的基础……(略)3.Qt支持的平台4.Qt的下载与

大家好,又见面了,我是你们的朋友全栈君。

一、QT简介

1.什么是QT?

Qt是一个跨平台的C++图形用户界面应用程序框架

2.Qt的发展史?

1991年Qt最早由奇趣科技开发
1996年进入商业领域,是目前流行的Linux桌面环境KDE的基础
……(略)
3.Qt支持的平台
4.Qt的下载与安装
这里我使用的是Qt 5.12.2

二、第一个Qt程序

1.路径名,文件名中不能有中文

2.创建默认窗口类

基类有三种选择:QWidget,QMainWindow,QDialog

3.main函数

(1)QApplication a 应用程序对象,有且只有一个
(2)Widget w 实例化窗口对象
(3)w.show()调用show函数,显示窗口
(4)return a.exec() 让应用程序对象进入消息循环机制中,代码阻塞到当前行

#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{ 
   
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

4.对.pro文件的解释

(1)QT包含的基本模块
QT       += core gui
(2)如果QT在四版本以上,就包含widget模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
(3)生成的.exe文件的名称
TARGET = HelloQT
(4)模板,应用程序模板Application
TEMPLATE = app
(5)源文件,自动追加
SOURCES += \
        main.cpp \
        widget.cpp
(6)头文件
HEADERS += \
        widget.h

5.Qt Creator快捷键

ctrl+/:注释
ctrl+r:运行
ctrl+鼠标滚轮:字体缩放
ctrl + f:查找
ctrl + shift + 上或下:整行移动
F1:帮助文档。ESC:退出
ctrl + i:自动对齐
F4:同名之间的.h和.cpp切换

6.QPushButton的创建

#include "widget.h"
#include<QPushButton>
//使用初始化列表直接调用父类的构造函数
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{ 
   
    //创建一个按钮
    QPushButton * but1 = new QPushButton();
    //若使用show方式,则会以顶层方式弹出
    //but1->show();
    //让but对象依赖在当前窗口中
    but1->setParent(this);
    //设置按钮的文本
    but1->setText("俺是第一个按钮");
    //一步完成上述所有步骤,按照控件的大小创建窗口
    QPushButton * but2 = new QPushButton("俺是第二个按钮",this);
    //移动第二个按钮
    but2->move(100,100);
    //设置按钮的大小
    but2->resize(200,100);
    //重置窗口的大小
    resize(600,400);
    //设置固定的窗口大小
    setFixedSize(600,400);
    //设置窗口的标题
    setWindowTitle("你好QT");
}

Widget::~Widget()
{ 
   

}

效果图:
在这里插入图片描述

7.对象树(了解)

(1)当创建的对象在堆区的时候,如果指定的父亲是QObject派生下来的类或者QObject子类派剩下来的类,可以不用管理释放的操作,将对象会放入到对象树中
(2)一定程度上简化了内存回收机制

8.QT中的坐标系

(1)左上角为(0,0)点
(2)x以右为正方向,y以下为正方向

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145580.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月17日 上午7:20
下一篇 2022年5月17日 上午7:20


相关推荐

  • 学习笔记:图像风格迁移

    学习笔记:图像风格迁移所谓图像风格迁移 是指利用算法学习著名画作的风格 然后再把这种风格应用到另外一张图片上的技术 著名的国像处理应用 Prisma 是利用风格迁移技术 将普通用户的照片自动变换为具有艺术家的风格的图片 这篇文章会介绍这项技术背后的原理 此外 还会使用 TensorFlow 实现一个快速风格迁移的应用 1 图像风格迁移的原理 1 1 原始图像风格迁移的原理在学习原始的图像风格迁移之前 可以先回忆一下

    2026年3月20日
    2
  • 第七期 思科【cisco】命令

    第七期 思科【cisco】命令

    2022年3月12日
    44
  • spring classutils_beanpropertybindingresult

    spring classutils_beanpropertybindingresult一、简介:  BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法:  BeanUtils是这个包里比较常用的一个工具类,这里只介绍它的copyProperties(………

    2025年9月2日
    7
  • 2018年值得期待11个Javascript动画库

    2018年值得期待11个Javascript动画库2018年值得期待11个Javascript动画库

    2022年10月15日
    7
  • mysql按升序创建索引_MySQL 降序索引 (Descending Indexes)

    mysql按升序创建索引_MySQL 降序索引 (Descending Indexes)在 8 0 之前 能够以相反的顺序对索引进行扫描 但是会降低性能 降序索引能够实现相同的效果 且不会损耗性能 另外一个例子 当一个查询 SQL 需要按多个字段 以不同的顺序进行排序时 8 0 之前无法使用索引已排序的特性 因为 orderby 的顺序与索引的顺序不一致 而使用降序索引 就能够指定联合索引中每一个字段的顺序 以适应 SQL 语句中的 orderby 顺序 让 SQL 能够充分使用

    2026年3月17日
    2
  • POJ-2499 Binary Tree

    POJ-2499 Binary Tree

    2021年8月22日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号