QT学习---day1---窗口按钮的操作

//qt学习笔记:

//12_7

//跨平台,完全面向对象,容易扩展,容易组建编程。

//QWidget 和 QMainWindow 和 QDialog 之间的关系。
//QWidget是基类,QMainWindow 和 QDialog 是子类。

/*
QWidget 是一个大的空窗口。
QMainWindow 包含一些状态栏,例如文件、编辑等。
QDialog 对话框
*/

/*
项目管理:
团体开发软件时:git,vss,svn

svn:最常用的工作:update;提交之前先更新,防止冲突;
若出现冲突,就会出现:A写的----;B写的----
当协调解决问题后,点击solve提示svn解决了冲突。
会出现的bug:lock;  svn可能会自锁,不能进行任何操作。
此时输入:unlock;
*/

/*
pro文件:相当于sln文件;
*/

//一个问题的解决:https://blog.csdn.net/naturly/article/details/81390377

#include "mywidget.h"
#include <QApplication> //包含头文件  应用程序的头文件;

//main 函数中的操作
//程序的入口 argc命令行变量数量   argv命令行变量数组;
 

int main(int argc, char *argv[])
{
    //应用程序对象 a,Qt中  有且仅有一个应用程序对象;
    QApplication a(argc, argv);
    //创建一个 myWidget 对象w。myWidget基类 QWidget
    myWidget w;
    //窗口默认是不会弹出的,如果想弹出  调用show方法
    w.show();
    //a.exec()进入消息循环机制,相当于C++ system("pause");
    return a.exec();
}

//一个问题的解决方法:https://blog.csdn.net/wxf2012301351/article/details/52182769
//pro的介绍:

#-------------------------------------------------
#
# Project created by QtCreator 2018-12-07T10:14:28
#
#-------------------------------------------------

QT       += core gui        //    qt包含的模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets   //大于函数,大于4版本包含widgets模块;

TARGET = 123.exe    //生成的.exe可执行文件的名称---后期要修改程序名可以在这个里面修改;
TEMPLATE = app        //模板 ---- 应用程序

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += \            //源文件
        main.cpp \
        mywidget.cpp

HEADERS += \            //头文件
        mywidget.h

        


        
        
//********************************************************************************************************************************************
//QT中的命名规范以及快捷键;
//类名:首字母大写   单词与单词之间  首字母大写
//函数、变量名:首字母小写,单词与单词之间首字母大写;
//快捷键:   ctrl + R
//编译:     ctrl + B
//查找:     ctrl + F
//帮助文档:  F1
//字体缩放    ctrl + 鼠标缩放
//自动对齐    ctrl + i
//整行移动    ctrl + shift + ↑ 或者 ↓
//同名之间的  .h  .cpp切换     F4
//********************************************************************************************************************************************

//设置窗口和设置按钮

#include "mywidget.h"
#include <QPushButton>


myWidget::myWidget(QWidget *parent)
    : QWidget(parent)       //初始化列表;----不要和继承弄混;
{
    //按钮:

    //第一种按钮方法:
    QPushButton * btn = new QPushButton;
    //btn -> show();  //show是用顶层方式弹出,如果想在mywidget窗口中显示,就需要一来mywidget窗口;
    //设置父亲
    btn->setParent(this);//this指针
    //设置文件
    btn->setText("德玛西亚");//将 char*隐式类型转换为QString;


    QPushButton * btn2 = new QPushButton("第二个按钮",this);
    //窗口大小和按钮大小差不多。这种方式设置,窗口会按照btn2大小设置。
    //可以重置窗口的大小。
    this -> resize(600,400);

    //第二个按钮会覆盖第一个按钮,移动第二个按钮:
    btn2->move(100,100);

    //按钮是否能够重置大小?
    btn2->resize(50,50);

    //如何重置窗口的标题:
    //this下面的方法,可以不写this:
    setWindowTitle("qt第一个窗口");

    //设置固定的窗口大小:
    setFixedSize(600,600);
}

myWidget::~myWidget()
{

}

//*****************************************************************************************************************************************************

//************************************************************************************
(重点)
//qt的优点:一定程度下简化了内存回收机制。
//对象树的概念:
//qt如何释放内存的?
//所有new出来的对象会在窗口关闭后进行自动释放;

对象树的概念就是qt提供的内存回收机制。通常指定一个new的变量的parent为this来设定。

//*************************************************************************************
qt中的坐标系:
从左上角开始为(0,0)原点,向右为x轴正向,向下为y轴正向;
//*************************************************************************************

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值