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 <QWidget>
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 <QWidget>
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()<<ui->widget->getNum();
});
//(2)设置控件内的值为一半
connect(ui->pushButton_2,&QPushButton::clicked,[=]()
{
ui->widget->setNum(5);
});
}
Widget::~Widget()
{
delete ui;
}
main.cpp:
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}