Qt学习笔记2--第一个程序

1、头文件

#ifndef MYWIDGET_H  //防止头文件重复编译
#define MYWIDGET_H

#include   // QWidget 基类

class MyWidget : public QWidget  //类型名后加冒号,继承MyWidget继承QWidget
{
    Q_OBJECT //Q_OBJECT宏  写了这个宏 就支持了 Qt中信号和槽机制

public:  //作用域
    MyWidget(QWidget *parent = 0);  //构造函数
    ~MyWidget(); //析构函数
};

#endif // MYWIDGET_H

2、源文件

main.cpp
// main.cpp //主程序入口

#include "mywidget.h"  //包含头文件
#include  //包含头文件 应用程序头文件

//程序的入口  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++ pause 使程序不会一闪而过
    return a.exec();
}
mywidget.cpp
#include "mywidget.h"
#include  //Button按钮头文件

//Qt命名规范 以及 快捷键
//命名规范
// 类名:首字母大写,单词与单词之间 首字母大写
// 函数、变量  首字母小写  单词与单词之间 首字母大写

//快捷键
// 运行 Ctrl + r
// 编译 Ctrl + B
// 查找 Ctrl + F
// 帮助文档 F1 F1 ESC
// 帮助文档 D:\Qt\Qt5.6.2\5.6\mingw49_32\bin\assistant.exe
// 字体缩放 Ctrl + 鼠标滚轮
// 自动对齐 Ctrl + i
// 整行移动 Ctrl + Shift + ↑或↓
// 同名之间的 .h .cpp切换 F4
// 注释快捷键 Ctrl + /

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent) //构造函数后加冒号 -- 初始化列表:将参数传给父类,做初始化操作
{
    //按钮
    QPushButton * btn = new QPushButton; // 创建对象
    // btn->show(); //show使用顶层方式弹出,如果想在MyWidget窗口中显示,就需要依赖MyWidget窗口

    //设置父亲
    btn->setParent(this); //给bth设置一个父亲,让btn在其上显示;设置父亲setParent需要一个指针参数,指向MyWidget,this就表示MyWidget这个对象

    //设置文字  //先确保utf-8;工具选项-文本编辑器-行为
    btn->setText("德玛西亚"); //setText需要QString类型,但传入的是char*类型;隐式转换:将char*隐式转换为Qstring类型

    //创建按钮的第二种方式  窗口会按照btn2大小进行显示
    QPushButton * btn2 = new QPushButton("第二个按钮", this);
    //重置窗口大小 this调用resize方法
    this->resize(600, 400);
    //移动第二个窗口
    btn2->move(100,100);

    //按钮是否可以调用resize方法,重置大小?
    //可以,btn父类最终是QWidget;而this代表的MyWidget父类也是QWidget,故都有resize方法
    btn2->resize(50, 50);


    //重置窗口标题:重置(设置)set 窗口Window  标题Title
    setWindowTitle("Qt第一个窗口");

    //设置固定窗口大小, 这样就不允许拖拽了
    setFixedSize(600,400);




}

MyWidget::~MyWidget()
{

}

你可能感兴趣的:(Qt,Qt)