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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在vue中引入外部的css文件「建议收藏」

    在vue中引入外部的css文件「建议收藏」在vue中引入外部的css文件在项目的src文件下,新建一个style文件夹,存放css文件。1.全局引入将外部的css文件放到style文件下,引入外部文件只需在main.js文件中import’./style/reset.css’我引入的是清除默认样式的css文件2.局部引入&lt;stylescoped&gt;@import’../assets/ico……

    2022年10月8日
    0
  • idea 启动docker镜像「建议收藏」

    idea 启动docker镜像「建议收藏」idea启动docker镜像(基于docker镜像已经打好)也是第一次使用。欢迎补充哈~

    2022年9月2日
    3
  • 机器学习导论(张志华):多项式分布

    机器学习导论(张志华):多项式分布前言这个笔记是北大那位老师课程的学习笔记,讲的概念浅显易懂,非常有利于我们掌握基本的概念,从而掌握相关的技术。基本概念两个矩阵相似:两个矩阵特征值一样。两个矩阵合同:矩一样,就是个数一样。#高斯分布的特性知道μ和σ\mu和\sigmaμ和σ就可以确定这个分布,是它的信息量。流形学习(manifoldlearning)学习的是空间局部点之间的关系。多项式分布Themult…

    2022年10月10日
    0
  • Java实现冒泡排序(详解)[通俗易懂]

    Java实现冒泡排序(详解)[通俗易懂]深度解析冒泡排序算法publicclassMySort{publicstaticvoidbubbleSort(intarray[]){for(inti=0;i<array.length;i++){for(intj=0;j<array.length-1-i;j++){if(array[j]>array[j+1]){

    2022年6月21日
    20
  • Java标识符的命名规则[通俗易懂]

    Java标识符的命名规则[通俗易懂]Java语言中,为各种变量、方法和类等起的名字称为标识符Java标识符的命名规则:应以字母、下划线、美元符开头后跟字母、下划线、美元符或数字Java标识符大小写敏感,长度无限制1.java中能用作标识符的有:26个英文字母(大、小写),数字,下划线,美元符号$。但是不能以数字开头。2.类名首个字母必须大写,多个单词组成的,每个单词首字母都要大写。3.方法名一般首个字母小写(构造…

    2022年7月8日
    34
  • 历年数学界菲尔兹奖及其得主简介

    历年数学界菲尔兹奖及其得主简介菲尔兹奖及其得主简介菲尔兹奖是以已故的加拿大数学家、教育家J.C.菲尔兹(FieldS)的姓氏命名的。J.C.菲尔兹1863年5月14日生于加拿大渥太华。他11岁丧父、18岁丧母,家境不算太好,J.C.菲尔兹17岁进入多伦多大学攻读数学,24岁时在美国的约翰·霍普金斯大学获博士学位,26岁任美国阿格尼大学教授。1892年到巴黎、柏林学习和工作。1902年回国后执教于多伦多大学。1907年

    2022年5月16日
    158

发表回复

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

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