QT_C++05-控件,其他常用控件,自定义控件

01 界面布局

1 创建项目
2 登录界面
2.1 界面创建
2.2 界面布局
2.2.1 水平布局显示
2.2.2 垂直布局显示
2.2.3 水平/垂直 间隔设置
2.2.4 取消布局
2.2.5 栅格布局
3 窗口标题
4 细节设置
4.1 设置控件与窗口的间隔
4.1 设置输入栏输入内容的显示方式

详见

02 控件

1 项目创建
2 按钮控件(Buttons)
2.1 QPush Button控件
2.2 Tool Button控件
2.3 Radio Button控件
2.4 Check Box控件
3 单元控件(Item Widgets)
3.1 QListWidget 控件(列表型容器)
3.2 QTreeWidget 控件(树形容器)
3.3 QTableWidget 控件(表格容器)

详见

03 其他常用控件

1 项目创建
2 容器控件(Containers)
2.1 Scroll Area控件
2.2 Tool Box控件
2.3 Tab Widget控件
2.4 Stacked Widget控件
3 输入控件(Input Widget)
3.1 Combo box控件(下拉框)
3.2 Line/Text/Plain Edit控件
4 显示控件(Display Widget)
4.1 Label控件

详见

04 自定义控件

1.项目创建

详见

smallwidget.h:

#ifndef SMALLWIDGET_H
#define SMALLWIDGET_H

#include 

namespace Ui {
class SmallWidget;
}

class SmallWidget : public QWidget
{
    Q_OBJECT

public:
    explicit SmallWidget(QWidget *parent = nullptr);
    ~SmallWidget();

    //设置值
    void setNum(int num);
    //获取值
    int getNum();

private:
    Ui::SmallWidget *ui;
};

#endif // SMALLWIDGET_H

smallwidget.cpp:

#include "smallwidget.h"
#include "ui_smallwidget.h"


SmallWidget::SmallWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::SmallWidget)
{
    ui->setupUi(this);
    //(1)绑定spin box 和horizontalSlider
    void(QSpinBox::*spSignal)(int)=&QSpinBox::valueChanged;//使用重载的信号地址
    connect(ui->spinBox,spSignal,  ui->horizontalSlider,&QSlider::setValue);

    //(2)绑定horizontalSlider和spin box实现,移动horizontalSlider,spin box数值改变
    connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);
}

void SmallWidget::setNum(int num)
{
    ui->spinBox->setValue(num);
}

int SmallWidget::getNum()
{
    return ui->spinBox->value();
}

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

widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include 

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

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

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp:

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

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

    //(1)获取当前空间内的值
    connect(ui->pushButton,&QPushButton::clicked,[=]()
    {
        qDebug()<widget->getNum();

    });

    //(2)设置控件内的值为一半
    connect(ui->pushButton_2,&QPushButton::clicked,[=]()
    {
        ui->widget->setNum(5);

    });
}

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

main.cpp:

#include "widget.h"

#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

QT_C++05-控件,其他常用控件,自定义控件_第1张图片

你可能感兴趣的:(#,Qt,qt,c++)