Qt horizontal line和vertical line的使用方法及在 QGridLayout 中的应用

1.horizontal line 和vertical line 的使用
horizontal line 和vertical line 实际上是由QFame类,设置相应的参数来实现的;而不是由单独的类来实现的,例如(QHorizontalLine/QVerticalLine);

1.1.控件拖拽

 1.2.代码实现

1     QFrame *line = new QFrame();
2     line->setFrameShape(QFrame::HLine);
3     line->setFrameShadow(QFrame::Plain);
4     //line->raise();//顶层展示

2.horizontal line 和vertical line 在QGridLayout 中的应用

以下为代码实现:

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 #include "testform.h"
 4 #include <QDebug>
 5 #include <QGridLayout>
 6 #include <QHBoxLayout>
 7 #include <QPushButton>
 8 #include <QLabel>
 9  
10  
11 MainWindow::MainWindow(QWidget *parent) :
12     QMainWindow(parent),
13     ui(new Ui::MainWindow)
14 {
15     ui->setupUi(this);
16  
17     QGridLayout *m_Layout = new QGridLayout(this);
18     m_Layout->setSpacing(5);//setVerticalSpacing()/setHorizontalSpacing()
19  
20     //1.创建标题1
21     QLabel *m_title = new QLabel(tr("题目1"));
22     m_title->setMinimumHeight(50);
23     m_title->setMaximumHeight(60);
24     m_title->setAlignment(Qt::AlignCenter);
25     m_Layout->addWidget(m_title, 0, 0, 1, 1);
26  
27     //分割线
28     QFrame *line = new QFrame();
29     line->setFrameShape(QFrame::HLine);
30     line->setFrameShadow(QFrame::Plain);
31     //line->raise();//顶层展示
32     m_Layout->addWidget(line,1,0,1,1);
33  
34     //2.创建标题2
35     m_title = new QLabel(tr("题目2"));
36     m_title->setAlignment(Qt::AlignCenter);//Qt::AlignHCenter|Qt::AlignTop
37     m_Layout->addWidget(m_title, 2, 0, 1, 1);
38  
39     resize(400, 4*30);
40     ui->centralWidget->setLayout(m_Layout);
41 }
42  
43 MainWindow::~MainWindow()
44 {
45     delete ui;
46 }

呈现效果:

原文地址:https://www.cnblogs.com/ybqjymy/p/14803994.html