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


相关推荐

  • python中的%s%是什么意思

    python中的%s%是什么意思python中的%s%是什么意思它是一个字符串格式化语法(它从C借用)。请参阅“格式化字符串”:Python支持将值格式化为字符串。虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s占

    2022年7月6日
    30
  • robots.txt用法

    robots.txt用法robots.txt的主要作用是告诉蜘蛛爬虫该网站下哪些内容能抓取,哪些内容不能抓取。虽然可以没有robots.txt这个文件,默认就抓取该网站的所有文件,对搜索引擎爬虫没有任何的影响,但是如果你想控制蜘蛛的检索间隔,你就必须用robots.txt来控制。robots.txt不是一种规范,是约定俗成的,主流的搜索引擎都是遵循robots.txt的规则来索引页面,但是一些spam爬虫不会遵循,所…

    2022年5月1日
    36
  • 排序算法:桶排序、计数排序、基数排序

    排序算法:桶排序、计数排序、基数排序

    2021年10月5日
    38
  • 适配器的作用和原理

    适配器的作用和原理设计模式在android中的应用——适配器模式http://www.eoeandroid.com/thread-228482-1-1.html

    2022年5月2日
    37
  • python filelock 文件锁_详解进程文件锁FileLock

    python filelock 文件锁_详解进程文件锁FileLockimportjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.RandomAccessFile;importjava.nio.ByteBuffer;importjava.nio.channels.FileChannel;importjava.nio.channels.FileLock;import…

    2022年6月28日
    92
  • oracle中list_oracle listagg 拼接字符串过长

    oracle中list_oracle listagg 拼接字符串过长语法有点难以看懂,个人理解listagg是listaggregate的缩写(错了勿喷),也就是列表总计,聚合的意思。官方文档解释为:LISTAGGordersdatawithineachgroupspecifiedintheORDERBYclauseandthenconcatenatesthevaluesofthemeasurecolumn….

    2025年9月25日
    8

发表回复

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

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