QT学习笔记一

一、窗口代码实例

#include "widget.h"

#include <QApplication>//包含一个应用程序类的头文件

int main(int argc, char *argv[])
{
    //应用程序对象,在整个qt中有且只有一个
    QApplication a(argc, argv);
    Widget w;
    //窗口对象默认不显示
    w.show();
    
    //让应用程序对象进入消息循环(窗口就不会一闪而过)
    return a.exec();
}

二、.pro文件解释

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

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //大于4版本以上包含widget模块

CONFIG += c++11DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses 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 \
    widget.cpp

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

FORMS += \    //
    widget.ui

TRANSLATIONS += \
    qt1_zh_CN.ts

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
、

三、创建按钮

1)成员方法

设置父窗口:setParent()

设置文本内容:setText()

设置大小:resize()

设置位置:move()

2)代码实例

#include "widget.h"
#include "ui_widget.h"
#include <qpushbutton>   //包含头文件
Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //法一 // QPushButton *btn1=new QPushButton; // //btn1->show(); //show()以顶层方式显示窗口 // btn1->setParent(this); // btn1->setText("按钮1"); //法二 QPushButton *btn2=new QPushButton("按钮2", this);
    btn2->move(100,100);//移动按钮

    resize(500,500);// 重置窗口大小
} Widget::~Widget() { delete ui; }

四、信号和槽

#include "widget.h"
#include "ui_widget.h"
#include <qpushbutton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //法一
//    QPushButton *btn1=new QPushButton;
//    //btn1->show();     //show()以顶层方式显示窗口
//    btn1->setParent(this);
//    btn1->setText("按钮1");

    //法二
    QPushButton *btn2=new QPushButton("按钮2", this);

    //移动按钮
    btn2->move(100,100);

    // 重置窗口大小
    resize(500,500);

    //参数1:信号发送者
    //参数2:触发事件
    //参数3:信号接受者
    //参数4:处理事件(槽)
    connect(btn2,&QPushButton::clicked,this,&Widget::close);
}

Widget::~Widget()
{
    delete ui;
}

 

上一篇:bel和QPushButton插入图片自适应label大小等比缩放


下一篇:QT_快捷键、对象树、信号与槽