VS2017+QT5纯代码编程——基础知识

基础知识

一、布局

1、布局管理器

注意:MainWindow有自己默认的布局管理器

1.1 分类

(1)QHBoxLayout 水平布局 略

(2)QVBoxLayout 垂直布局 略

(3)QGridLayout 格栅布局 理解为格子(几行几列):

gridLayout ->addWidge();三个参数分别是添加的部件、横向位置、纵向位置。
在这里插入图片描述

如图,是一个3*3的格栅布局,每个格子的位置与矩阵类似:

布局的第一行添加部件:

gridLayout ->addWidget(new QPushButton("1"),0,0);

gridLayout ->addWidget(new QPushButton("2"),0,1);

gridLayout ->addWidget(new QPushButton("3"),0,2);

布局的第二行添加部件:

gridLayout ->addWidget(new QPushButton("4"),1,0);

gridLayout ->addWidget(new QPushButton("5"),1,1);

gridLayout ->addWidget(new QPushButton("5"),1,2);

布局的第三行添加部件:

gridLayout ->addWidget(new QPushButton("7"),2,0);

gridLayout ->addWidget(new QPushButton("8"),2,1);

gridLayout ->addWidget(new QPushButton("9"),2,2);
1.2 使用

定义:

	  QVBoxLayout *mainLayout = new QVBoxLayout;

      QHBoxLayout *horizontalLayout = new QHBoxLayout;

      QGBoxLayout *gridLayout = new QGBoxLayout;

加入控件:horizontalLayout ->addWidget(qedit); //在水平布局里添加一个单行输入框

加入布局:mainLayout ->addLayout(horizontalLayout);

mainLayout ->addLayout(gridLayout); //在主布局里添加其他布局样式

设置布局(关键,不然没有效果):setLayout(mainLayout);

2、设置

2.1 边距
int margin() const;              // 获取边距

setMargin(int margin);           // 设置整体边距

setContentsMargins(int left, int top, int right, int bottom) //设置具体边距

horizontalLayout->setContentsMargins(0, 0, 0, 0);  //上下左右的边距分别为0
2.2 对齐方式
Qt::Alignment alignment() const;    // 获取对齐方式

void setAlignment(Qt::Alignment align);    // 设置对齐方式
 这里的 Qt::Alignment 类型有以下取值。

    1)Qt::AlignLeft::水平方向靠左。

    2)Qt::AlignRight:水平方向靠右。

    3)Qt::AlignHCenter:水平方向居中。

    4)Qt::AlignJustify:水平方向调整间距两端对齐。

    5)Qt::AlignTop:垂直方向靠上。

    6)Qt::AlignButton:垂直方向靠下。

    7)Qt::AlignVCenter:垂直方向居中。

    8)Qt::AlignCenter:等价于 Qt::AlignHCenter | Qt::AlignVCenter。
2.3 其他
QString text() const;                    // 获取显示的文本

void settext(const QString &text);       // 设置显示的文本,这是一个槽

const QPixmap *

你可能感兴趣的:(vs+qt,qt)