Qt入门(一)

1.创建第一个Qt项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.命名规范和常用快捷键

类名 首字母大写,单词和单词之间 首字母大写 MyWidget
函数名、变量名。。。 首字母小写 单词和单词之间 首字母大写 saveFun() dataStr
成员变量 m_ + 单词 m_db
注:命名规则不是必须遵守,一切按照自己喜欢的方式来

常用快捷键
运行 ctrl + R
跳转函数定义 鼠标移到函数名 ctrl + 左键
帮助文档 F1 也可已使用Assistant

3.QPushbutton的使用

QPushbutton是qt中的按钮类,可以点击按钮触发信号槽函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

//btn1点击之后触发该函数
void Widget::on_pushButton_clicked()
{
    qDebug() << "btn1 is clicked";
}

在这里插入图片描述

4.Qt中的信号和槽

在这里插入图片描述

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

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

    //连接槽函数
    //connect(信号发送对象名,&类名::信号名,信号接收对象名,槽函数);
    //匿名函数:  [=]中=表示可以使用外部的变量,()函数参数列表这里需要与信号的参数保持一致
    // {}函数体
    connect(ui->pushButton_2,&QPushButton::clicked,this,[=](){
    	//最小化窗口
        this->showMinimized();
    });
}

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

//槽函数
void Widget::on_pushButton_clicked()
{
	//关闭窗口
    this->close(); 
}

在这里插入图片描述

5.QMessagebox对话框,一般用作提示窗口

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QMessageBox>

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

    //连接槽函数
    //connect(信号发送对象名,&类名::信号名,信号接收对象名,槽函数);
    //匿名函数:  [=]中=表示可以使用外部的变量,()函数参数列表这里需要与信号的参数保持一致
    // {}函数体
    connect(ui->pushButton_2,&QPushButton::clicked,this,[=](){
        this->showMinimized();
    });
}

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

//关闭窗口
void Widget::on_pushButton_clicked()
{
    //auto表示自动匹配变量的类型
    //information的参数
    //父对象设置为this作用是当this关闭之前会自动释放messagebox的资源
    //弹窗标题
    //弹窗内容
    //弹窗按钮,自动检测按下的按钮并在弹窗关闭时返回
    auto res = QMessageBox::information(this,"提示","是否关闭窗口",QMessageBox::Yes|QMessageBox::No);
    if(res == QMessageBox::Yes)
    {
        this->close();
    }
    else if(res == QMessageBox::No)
    {

    }
}


在这里插入图片描述

6.QTableWidget的基本使用(一)

在这里插入图片描述

/*widget.h*/
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    void InitObject();

    void InitSlot();

private slots:


    void on_pushButton_clicked();

    void on_pushButton_3_clicked();

    void on_pushButton_4_clicked();

    void on_pushButton_5_clicked();

    void on_pushButton_6_clicked();

private:
    Ui::Widget *ui;

    int rows,cols;
};
#endif // WIDGET_H

/*widget.cpp*/
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QMessageBox>

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

    //设置无边框
    // this->setWindowFlag(Qt::FramelessWindowHint);

    //初始化对象
    this->InitObject();

    //连接信号槽
    this->InitSlot();


}

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

void Widget::InitObject()
{
    //设置初始行列数
    ui->tableWidget->setColumnCount(5);
    ui->tableWidget->setRowCount(5);

    //更新行列数
    rows = 5;
    cols = 5;
}

void Widget::InitSlot()
{
    //连接槽函数
    //connect(信号发送对象名,&类名::信号名,信号接收对象名,槽函数);
    //匿名函数:  [=]中=表示可以使用外部的变量,()函数参数列表这里需要与信号的参数保持一致
    // {}函数体
    connect(ui->pushButton_2,&QPushButton::clicked,this,[=](){
        this->showMinimized();
    });
}

//关闭窗口
void Widget::on_pushButton_clicked()
{
    //auto表示自动匹配变量的类型
    auto res = QMessageBox::information(this,"提示","是否关闭窗口",QMessageBox::Yes|QMessageBox::No);
    if(res == QMessageBox::Yes)
    {
        this->close();
    }
    else if(res == QMessageBox::No)
    {

    }
}


//添加一行
void Widget::on_pushButton_3_clicked()
{
    //在当前行之后添加一行
    int row = ui->tableWidget->currentRow();
    ui->tableWidget->insertRow(row + 1);
    rows++;
}

//删除当前行
void Widget::on_pushButton_4_clicked()
{
    int row = ui->tableWidget->currentRow();
    ui->tableWidget->removeRow(row);
    rows--;
}


//删除所有行
void Widget::on_pushButton_5_clicked()
{
    for (int row = 0; row < rows; row++)
    {
        ui->tableWidget->removeRow(0);
    }

}

//清空
void Widget::on_pushButton_6_clicked()
{
    for (int row = 0; row < rows; row++)
    {
        for (int col = 0; col < cols; col++)
        {
            ui->tableWidget->setItem(row,col,new QTableWidgetItem(""));
        }
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值