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

2022-08-29 14:03:30 浏览数 (1)

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

文章目录
  • 一、QT简介
    • 1.什么是QT?
    • 2.Qt的发展史?
  • 二、第一个Qt程序
    • 1.路径名,文件名中不能有中文
    • 2.创建默认窗口类
    • 3.main函数
    • 4.对.pro文件的解释
    • 5.Qt Creator快捷键
    • 6.QPushButton的创建
    • 7.对象树(了解)
    • 8.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() 让应用程序对象进入消息循环机制中,代码阻塞到当前行

代码语言:javascript复制
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{ 
   
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

4.对.pro文件的解释

代码语言:javascript复制
(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的创建

代码语言:javascript复制
#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.cn/145580.html原文链接:https://javaforall.cn

0 人点赞